Discussion -- Call for answers : Class and Component

Dear all,
1. Component has a clear seperation between the specification and implementation? I can't understand here.The interface define some operations,but eventually we need coding to realize it. Where is the speration?
A class also has methods and coding to realize it. But why we never say a class has a seperation between the specification and implementation?
2. Component has interface; Java has interface. Are they the same idea or different?
Call for answers.
Thanks
Kevin

Hi, Kevin,
First of all, I need to clarify some terminologies and then try to anwser your questions.
(1) Interface only defines operations, but does not specifies how to implement those operations. In Java, abstract class and interface are interfaces. In CORBA, IDL is interface which can be implemented by differenct programming languages.
(2) Java class is both an interface and an implementation, because it not only defines operations, but also implements the operations.
(3) Component provides some specific functionalities, but is not a full-featured application. Usually, a full-featured application consists of many different components. A component can be large or small. A component can be as large as consisting of tens or hundreds of interfaces and classes, like EJB container and server. On the other hand, a component can be as small as comprising only one class; suppose you write a component to calculate foreign currancy conversion.
(4)Specification is a written document that tries to standardize the development of a large component. A specification specififies each party's responsibilities, such as application developers'responsibilities, vendor's responsibilities, administrtor's responsibilities and so on. Also, it specifies the contracts (interfaces) between each party. In doing so, a component can be made very reuseful and can be plug-in and play; changing different vendor's component without breaking application developer's owner code.
In Java world, you see a lot of specifications, such as JDBC, EJB and JMS. When SUN defines those specifications, they use Java interfaces rather other classes to specify interfaces. Here, clear seperation between interface and implementation is very important. (1) If a class is used to specify an interface, SUN must provide implementation for the class. But, the purpose of the specification to allow different vendors to provide implementation.(2) Implementation details can very complex and different vendors may implement the same component very differently. A specification only specifies interfaces but not the implementation. The implementation is up to the vendors. Any implementation is ok as long as they comply to the contracts (interfaces). For instance, one vendor may implement a specified interface using one class and another vendor may implement the same interface using three classes. If a class is used to specify an interface, you restrict vendors' implementation. Usually, in a specification, if you find a class that is used to defines an interface, it means that SUN will provide common implementation for it and vendors do not need to implement it.
In OO design and programing, clearly seperating interfaces from implementations is vital. We should program interface rather than program implementation.
Thanks.
Tommy

Similar Messages

  • What is the field and Table for "Batch Class" and "Class Type" in QM.

    Hi All,
    What is the field and Table for "Batch Class" and "Class Type" in QM.
    Thanks,

    Hi,
      For batch class the class type value is '023' . This you can find from KLAH table and the fileld for class type is KLART..
    And also all the data related to batch class are found in tables INOB, KLAH,KKSK and for the characeteristics of batch materials you can refer AUSP table.
    In INOB table, for batch class, you need to give 023 in KLART field and  value MCH1 in OBTAB filed.
    Please check this and let me know if this you need any more details?

  • An error on a site deleted a photobucket folder full of pictures for a class and I'm trying to see if since I last veiwed them with firefox theres a way to recover them-With the cache or something?

    == Issue
    ==
    I have another kind of problem with Firefox
    == Description
    ==
    An error on a site deleted a photobucket folder full of pictures for a class and I'm trying to see if since I last veiwed them with firefox there is a way to recover them-With the cache or something?
    == This happened
    ==
    Just once or twice
    == I was on photobucket around 6pm on Mon July 19th
    ==
    == Firefox version
    ==
    3.5.9
    == Operating system
    ==
    Windows XP
    == User Agent
    ==
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
    == Plugins installed
    ==
    *-The QuickTime Plugin allows you to view a wide variety of multimedia content in Web pages. For more information, visit the QuickTime Web site.
    *Shockwave Flash 10.0 r42
    *My Web Search Plugin Stub for 32-bit Windows
    *Default Plug-in
    *Adobe PDF Plug-In For Firefox and Netscape
    *DivX Web Player version 1.4.3.4
    *npdnu
    *Office Plugin for Netscape Navigator
    *iTunes Detector Plug-in
    *GEPlugin
    *4.0.50524.0
    *MSN® Toolbar
    *Google Updater pluginhttp://pack.google.com/
    *RealJukebox Netscape Plugin
    *RealPlayer(tm) LiveConnect-Enabled Plug-In
    *6.0.12.69
    *Google Update
    *Java Plug-in 1.4.2_03 for Netscape Navigator (DLL Helper)

    Hi- I'm Sarie and no this didn't help. I actually tried to log in to respond and it said I wasn't registered. Not really all that cool.

  • Remove calling features - Answer 1571 and Privacy ...

    I've just ordered a new connection, and decided to opt into the "free" calling features Answer 1571 and Privacy at Home. After completing the order I was notified by email that these features are only free under certain conditions, otherwise there's an additional monthly charge. This was probably mentioned somewhere while I was ordering it, but I didn't see it so I'm guessing it was buried in small print.
    I'd like to opt out of these calling features to avoid having to pay any additional charges, but I can't find any information on how to change which calling features I'm subscribed to. Please can you let me know how to turn off Answer 1571 and Privacy at Home.
    I'd also like to make a suggestion: You should make it clear to your customers that there are hidden charges associated with these "free" services before they place their orders.
    -Mike

    You may be able to visit www.bt.com/myaccount. there is a link on there to changing your calling features, if not it's a call to 150
    (If I have helped you in any way to say "Thank You" please click on the star next to the message. Thank You)
    If I have solved your Issue please click the "Mark as accepted solution" button.

  • I have two small charges on my credit card from the itunes store. I tried to call for answers as to what they were for. A recording told me to go to this website and i still can not find the items charged anywhere.

    I have two small charges on my credit card from iTunes store and I would like to find out what they are. The number listed is a recording and tells me to come to the website for answers. There is no sign of any purcases in my itunes store. Where can I get a person to talk to from I tunes? Has any one had this happen to them?

    Look at you purchase history.
    Open itunes, click on your name in the top right corner and go to your account and look.
    BTW, there is no telephone support for itunes at all.

  • Difference between class and component

    Hi,
    Can any help me
    1) what are the differences betw a java class and java component.
    2) what are the differences betw a java script and java.
    3) Is there any difference betw a java and server side java
    4)what is class path.

    what you seriously need is to read the tutorials.
    ad 1) typically a component is encapsulated in a jar, but a class may be a component, too. this is very much dependent on the context.
    ad 2) Java is a full featured programming language, JavaScript is a typeless scripting language mostly used in internet browsers. they share some basic syntactic constructs, but that's all.
    ad 3) server side java denotes certain functionality implemented in java.
    ad 4) the list of places a virtual machine looks into to load classes
    robert

  • Problems using different tables for base class and derived class

    I have a class named SuperProject and another class Project derived from
    it. If I let SchemaTool generate the tables without specifying a "table"
    extension, I get a single TABLE with all the columns from both classes and
    everything works fine. But if I specify a "table" for the derived class,
    SchemaTool generates the derived class with just one column (corresponds
    to the attribute in derived class). Also it causes problems in using the
    Project class in collection attributes.
    JDO file:
    <jdo>
    <package name="jdo">
    <class name="Project" identity-type="application"
    persistence-capable-superclass="SuperProject">
    <extension vendor-name="kodo" key="table" value="PROJECT"/>
    </class>
    <class name="SuperProject" identity-type="application"
    objectid-class="ProjectId">
    <field name="id" primary-key="true"/>
    </class>
    </package>
    </jdo>
    java classes:
    public class Project extends SuperProject
    String projectSpecific
    public class SuperProject
    BigDecimal id;
    String name;
    tables generated by SchemaTool:
    TABLE SUPERPROJECTSX (IDX, JDOCLASSX, JDOLOCKX, NAMEX);
    TABLE PROJECT(PROJECTSPECIFICX)
    Thanks,
    Justine Thomas

    Justine,
    This will be resolved in 2.3.4, to be released later this evening.
    -Patrick
    In article <aofo2q$mih$[email protected]>, Justine Thomas wrote:
    I have a class named SuperProject and another class Project derived from
    it. If I let SchemaTool generate the tables without specifying a "table"
    extension, I get a single TABLE with all the columns from both classes and
    everything works fine. But if I specify a "table" for the derived class,
    SchemaTool generates the derived class with just one column (corresponds
    to the attribute in derived class). Also it causes problems in using the
    Project class in collection attributes.
    JDO file:
    <jdo>
    <package name="jdo">
    <class name="Project" identity-type="application"
    persistence-capable-superclass="SuperProject">
    <extension vendor-name="kodo" key="table" value="PROJECT"/>
    </class>
    <class name="SuperProject" identity-type="application"
    objectid-class="ProjectId">
    <field name="id" primary-key="true"/>
    </class>
    </package>
    </jdo>
    java classes:
    public class Project extends SuperProject
    String projectSpecific
    public class SuperProject
    BigDecimal id;
    String name;
    tables generated by SchemaTool:
    TABLE SUPERPROJECTSX (IDX, JDOCLASSX, JDOLOCKX, NAMEX);
    TABLE PROJECT(PROJECTSPECIFICX)
    Thanks,
    Justine Thomas
    Patrick Linskey [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Tables for development class and Message Class

    Hi All,
    In which table is Message Class and Development class stored.
    Thanks,
    Santosh

    Hi All,
    I am closing this thread..I was looking for a single table which does this and it is TADIR with object = MSAG
    Thanks,
    Santosh
    Edited by: Santosh Kumar KezkhepatMelathil on Aug 29, 2008 1:32 PM

  • Ghost calls, auto answer machine and static interference during calls.

    Hi I have so many issues since I joined EE network. It's my first time with EE and the experience so far has been a very disappointing one.
    Don't know where to begin.
    The figures below are average number of times.
    Static interference - 6 out of 10 calls will experience a static interference. Even after few immediate attempts
    Ghost call - 8 out of 10 calls will experience what I call are ghost calls. It's when I call someone it's dead silent, no ring tone but on the screen it shows the call has been received and the timer is on. Really annoying When I have to reach that person immediately. It takes several attempts before the call actually connects.
    Auto answer machine - this ones not just annoying to me but the caller whose attempting to call me. It's embarrassing too.
    8 out of 10 callers have been complaining to me that they're calls kept on going to the answer machine. But during that time my phones been free and showing full coverage . I know this because I experimented few times where I got the caller to call me after meeting them in person few mins after the issue.
    Recent issue that occurred has me monitoring my data usage.
    I connected my phone to iTunes on my PC and I noticed it turned on something with a chain link on top of my iPhone screen. I didn't take much notice of it thinking it's probably because I connected to my PC. Couple of hours later I receive a message from EE informing me that I used up 80% of my data. That's when I realised it turned on my personal hotspot. But who was connected to it? I don't remember turning it on and my PC was connected to the router via Ethernet cable. Wifi dongle was disconnected from my PC so it wasn't the PC using up my data. Now I'm having to worry about using all my data before my monthly reload I got another 24 days left before my next reload, which is a long time because I need my data for the line of work I'm in.
    I never experienced any of those issues with my previous network provider. Wishing I haven't changed now.

    Hi 
    Welcome to the EE Community!
    Sorry to hear you are experiencing these problems. I had the same kind of issues when I got my first iPhone 5 and totally understand how frustrating it can be.
    The issues you have described sound like a mix of both network and device issues.
    Have you had a look at our Coverage Checker to see what the signal is like in your area?
    What model iPhone are you using?
    Thanks. 

  • Version control (lvcompare and lvmerge) for projects, classes and libs?

    Hi everyone
    Version control for classes, projects and libs (not just a plain .vi) - can it be done with lvcompare and lvmerge?
    I've tried a simple "LVCompare.exe project1.lvproj project2.lvproj" and it only returns an error (lvcompare.exe vi1.vi vi2.vi works). So this is maybe a dead end.
    How do you guys version control more complex projects? E.g. projects which use classes, libs, labview projects (.lvproj)?
    Best regards
    Jonascj

    Thank you for your reply. You are right, .lvclass, .lvproj and .lvlib are all just xml files - I've just figured that out my self when I accidentally called GIT's default diff on a lvclass
    I've also just spoken to National Instruments. The person I spoke to (from the one of the danish offices) told me that no tools exist at this time (2013-04-08) which will compare those LabView file types, but that there was an internal (National Instruments themselves)  feature request for such tools.
    He also told me another interesting thing which I did not know. The lvcompare.exe (located in National Instruments/Shared/LabVIEW Compare/ on Windows) is actually the not developed by National Instruments, but is either a "fork" of LVDiff (http://meta-diff.sourceforge.net/) or LVDiff renamed. So one could simply obtain the source code from http://meta-diff.sourceforge.net/ (at the bottom of the page "Win32 binary w/source") and add a few property nodes to do comparision of lvclass attributes etc.

  • Tables for development class and program name

    Hi,
    IN which tables can we find the program name and its development class?
    Thanks,
    Kumar

    Hi Kumar,
       Check the Table TADIR.
    Regards,
    Swapna.
    Edited by: NagaSwapna Thota on Jul 9, 2008 10:41 AM

  • SQVI for BOM header and component -reg

    Hi ,
    Requirement is we need to download BOM header wise Components for the BOM headers across the plants
    As it is of mass and for around 7000 BOM headers we need the details , i have created a SQVI query using MAST , STKO and STPO
    but when i execute it in masss inputting the BOM headers  results are not correct  with errors like repetitions , not matching with CS03 etc...
    is there any other effective way for this requirement ?
    i need to input the BOM header material and where and all plants they have BOM i need to get the corresponding BOM components
    pl suggest  soon as it is relevant for year end
    Madhu Kiran

    Hi ,
    Tried with the combination of MAST--STKO-STAS----STPO , still having issues
    SQVI results shows combination of soem BOM headers and components which are not yet all linked through BOM , wehn i cross check the result through CS03 , for the BOM header , plant there is no BOM still SQVI shows the records again with repititions
    dont know which is  missing as earlier i used to feel this SQVI is effective  but i think if we use more number of tables we get issues ..
    i can not ask for ABAP report development as this is one time activity required for year end things
    if some one can share any doc on this please share, as i tried and tired with all combinations
    can not use the function module as i need to input materials in mass
    pl guide
    Madhu kiran

  • Automated tool for Documenting Class and method definition

    Is there any tools or command lines that you can use to automate documentation for your java classes? :-/

    http://docwiz.sourceforge.net/
    Also, NetBeans has an "Auto Comment" feature
    http://www.netbeans.org/

  • How do I install Rosetta Stone onto my Macbook running OSX 10.8 when installing it I go into the folder called For MAC Users and the files in there are .exe files which cant be open on a Mac. If anyone has a solution or even a download link let me know.

    This is really frustrating please let me know I looked around and all the downloads cost money and I would prefer if you guys could give me a free one but a solution would be even better!!
    Thanks

    You have the Windows version of the software.  You will need to contact Rosetta Stone directly to get the Mac version of their software.  I can confirm it does install on Mountain Lion without issues.

  • TS5329 i did an update on my sons phone and now it is in recovery mode and than refuses to reboot. says it can not restore? it was working fine until it called for this update and while doing it it went into recovery mode?! please help!!!

    i did an update on my sons iphone 4s and now it says it is in recovery mode and that it can not reboot or restore the phone?! it will not power down normal and keeps saying hook to itunes. all i did was an update and it went into recovery mode and will now not restore! how do i fix this???

    Do exactly as it says, connect to a computer running iTunes and restore.

Maybe you are looking for