difference between imports-implements-inherits

B

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
 
C

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
 
A

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
 
B

Brian Tkatch

Bart_D said:
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.
 
B

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

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
 
H

Herfried K. Wagner [MVP]

Bart_D said:
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

Maxwell_Smart

Cor said:
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

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

B.
 

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. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,900
Latest member
Nell636132

Latest Threads

Top