difference between imports-implements-inherits

Discussion in 'ASP .Net' started by Bart_D, Jun 20, 2006.

  1. Bart_D

    Bart_D Guest


    Can anybody explain me what's the difference between for example:
    imports system.data
    implements ICallbackEventHandler
    inherits System.Web.UI.Page

    Bart_D, Jun 20, 2006
    1. Advertisements

  2. Bart,
    Tells that you use the namespace system.data, it has no other effects than
    in the way you write your code.
    Tells that ICallBackEventHandler is implemented and your code should be
    about that conform this interface (contract)
    Tells that you use this class (UI.Page) as base for your class, meaning that
    all code which is in that class can be used by your class.

    I hope this helps,

    Cor Ligthert [MVP], Jun 20, 2006
    1. Advertisements

  3. Bart_D

    Ahmed Guest

    Hi Brat,

    Well, I will try to explain it clearly:

    imports: used at the very top of your code. It is used to import
    already compiled libraries. It also simplifies your code. For example:

    If you programming an application that requires alot of drawing, you
    don't want to keep saying:
    system.drawing ....etc

    you can import the system.drawing, and use the methods you need without
    writing the full path. ie


    Inheritance is a great feature in object oriented program (OOP). It
    allows for code reuse and expansion. I remember in my programming
    couses they always use the car class example. So, I am going to use it
    again :)

    Assume you have a class called car. Every car, has an engine,
    transmission, make, model, four wheels. These properties are shared
    among all cars. These are the basic car parts. You have 2door and 4
    door cars. Lexury and convintional cars. SUVs, minvans ..etc. You don't
    want to have one class that has all these information. And you don't
    want to rewrite these info everytime a new type of car comes out. Let's
    translate the above to code:

    Class car
    private Engine as string
    private Transmission as string
    private make as string
    private model as string

    public sub new (byval e as string, byval t as string, _
    byval ml as string, byval mk as string)
    Engine = e
    transmission =t
    make =ml
    model =mk
    end sub

    end class

    Now we have a sport car that is 2 doors, 2 seats, got a turbo.... we
    dont want to retype every thing from the car class into the sport car
    class. So we inherit it.

    Class SportCar inherits car

    private numDoors as integer
    private numSeats as integer
    private GotTurbo as boolean

    public sub new (byval d as integer, byval s as integer, _
    byval t as boolean, byval eng as string, byval trans as
    string, _
    byval make as string, byval model as string)
    mybase (eng,trans,make,model)
    numDoors = d
    numSeats = s
    GotTurbo = t

    end sub

    end class

    The above is a very simple example it definitely get nastier.

    In OOP a class can't inherit from multiple class. Only one class. But
    you can implement more than one interface. And a class can inherit
    anther class and implement an interface at the same time. An interface
    is a class but it only has signiture of methods or declaration of
    properties. By implementing an interface, you are forcing the class to
    define those methods/ properties

    I hope I was able to clearify the difference. If you have more
    questions let me know.

    Ahmed, Jun 20, 2006
  4. Bart_D

    Brian Tkatch Guest


    A very much misnamed word. Should be "allow namespace" or the like.
    Unfortunately, they named it after what it does, rather than how it is
    used, and many programmers find that confusing.

    Normally, when referring to a .NET item the fully-qualified name must
    be used, starting with the top-most namespace and specifying each
    level. Mentioning "Imports" will allow and name (or namespace) at that
    level to be specified without the qualification of its parent.

    For example, if i wanted to create a datatablemapping, normally i would
    have to use the code:

    Dim DTM As System.Data.Common.DataTableMapping

    Using just:

    Dim DTM As DataTableMapping

    puts a blue line under DataTableMapping with the message "Type
    'DataTableMapping' is not defined."

    However, if i put "Imports System.Data.Common" at the top of the page,
    it gives no error, because it now knows where to look for the

    In any case, placing it is not required. It is merely a matter of
    covenience to the programmer and the code would work the same whether
    it is fully-qualified, or Imports is used and it is not fully

    inherits is used when the code is creating an objects that inherits
    from another class. This is a basic OOP concept.

    Brian Tkatch, Jun 20, 2006
  5. Bart_D

    Bart_D Guest

    Thanks both for your explanations.
    In fact i'm asking this because i made an application which i want to
    partially convert with the ClientCallback technology. But its' not easy with
    all those concept like 'implements', 'imports' etc ...
    Bart_D, Jun 20, 2006
  6. Brian,

    Reading your message I thought for the first time: Import is the same as a
    Global VB "With" where the first dot is than not needed.


    Cor Ligthert [MVP], Jun 20, 2006
  7. I suggest to check out the documentation on the keywords which can be opened
    by pressing the F1 key.
    Herfried K. Wagner [MVP], Jun 20, 2006
  8. Granted. That is an intereted way to view it. :)

    Maxwell_Smart, Jun 21, 2006
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.