Home All Groups Group Topic Archive Search About

difference between imports-implements-inherits

Author
20 Jun 2006 2:10 PM
Bart_D
Hi,

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

Thanks
Bart

Author
20 Jun 2006 2:40 PM
Cor Ligthert [MVP]
Bart,

> Can anybody explain me what's the difference between for example:

> imports system.data
Tells that you use the namespace system.data, it has no other effects than
in the way you write your code.

> implements ICallbackEventHandler
Tells that ICallBackEventHandler is implemented and your code should be
about that conform this interface (contract)

> inherits System.Web.UI.Page
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
Author
20 Jun 2006 3:12 PM
Ahmed
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.drawRectangle...
system.drawing.drawline...
system.drawing ....etc

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

Inheritance:

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.

Implement:
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.

Cheers,
Ahmed
Bart_D wrote:
Show quoteHide quote
> Hi,
>
> Can anybody explain me what's the difference between for example:
> imports system.data
> implements ICallbackEventHandler
> inherits System.Web.UI.Page
>
> Thanks
> Bart
Author
20 Jun 2006 3:32 PM
Bart_D
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 ...

Show quoteHide quote
"Ahmed" <ahmed1***@gmail.com> wrote in message
news:1150816374.122533.73630@h76g2000cwa.googlegroups.com...
> 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.drawRectangle...
> system.drawing.drawline...
> system.drawing ....etc
>
> you can import the system.drawing, and use the methods you need without
> writing the full path. ie
> drawRectangle...
> drawline...
> etc.
>
> Inheritance:
>
> 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.
>
> Implement:
> 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.
>
> Cheers,
> Ahmed
> Bart_D wrote:
> > Hi,
> >
> > Can anybody explain me what's the difference between for example:
> > imports system.data
> > implements ICallbackEventHandler
> > inherits System.Web.UI.Page
> >
> > Thanks
> > Bart
>
Author
20 Jun 2006 3:27 PM
Brian Tkatch
Bart_D wrote:
> Hi,
>
> Can anybody explain me what's the difference between for example:
> imports system.data
> implements ICallbackEventHandler
> inherits System.Web.UI.Page
>
> Thanks
> Bart

Imports:

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
defintion.

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
qualified.

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

B.
Author
20 Jun 2006 3:39 PM
Cor Ligthert [MVP]
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

Show quoteHide quote
"Brian Tkatch" <Maxwell_Sm***@ThePentagon.com> schreef in bericht
news:1150817247.455334.191500@p79g2000cwp.googlegroups.com...
>
> Bart_D wrote:
>> Hi,
>>
>> Can anybody explain me what's the difference between for example:
>> imports system.data
>> implements ICallbackEventHandler
>> inherits System.Web.UI.Page
>>
>> Thanks
>> Bart
>
> Imports:
>
> 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
> defintion.
>
> 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
> qualified.
>
> inherits is used when the code is creating an objects that inherits
> from another class. This is a basic OOP concept.
>
> B.
>
Author
21 Jun 2006 4:31 PM
Maxwell_Smart
Cor Ligthert [MVP] wrote:
Show quoteHide quote
> 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
>
> "Brian Tkatch" <Maxwell_Sm***@ThePentagon.com> schreef in bericht
> news:1150817247.455334.191500@p79g2000cwp.googlegroups.com...
> >
> > Bart_D wrote:
> >> Hi,
> >>
> >> Can anybody explain me what's the difference between for example:
> >> imports system.data
> >> implements ICallbackEventHandler
> >> inherits System.Web.UI.Page
> >>
> >> Thanks
> >> Bart
> >
> > Imports:
> >
> > 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
> > defintion.
> >
> > 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
> > qualified.
> >
> > inherits is used when the code is creating an objects that inherits
> > from another class. This is a basic OOP concept.
> >
> > B.
> >

Granted. That is an intereted way to view it. :)

B.
Author
20 Jun 2006 3:54 PM
Herfried K. Wagner [MVP]
"Bart_D" <qs***@sscs.dc> schrieb:
> Can anybody explain me what's the difference between for example:
> imports system.data
> implements ICallbackEventHandler
> inherits System.Web.UI.Page

I suggest to check out the documentation on the keywords which can be opened
by pressing the F1 key.

--
M S   Herfried K. Wagner
M V P  <URL:http://dotnet.mvps.org/>
V B   <URL:http://classicvb.org/petition/>