Is VB .NET true OO

  • Thread starter Thread starter Alan
  • Start date Start date
Yes. It now fully supports inheritance, polymorphism, overloading,
overriding, interfaces, shadowing and sharing.

I'm sure this thread will fill up with those former C and Java developers
who will say that C# is better because its language allows for perhaps more
straight forward ways to do the things I mentioned and there is some truth
to that. But, the answer to your question is that YES VB.NET is now fully
OO.
 
* "Alan said:
I VB .NET truelly object oriented ?

Yes, it's a PIE language (Polymorphism, Inheritance, Encapsulation).
But is that so important?
 
Alan,
Is VB .NET truelly object oriented ?
Is this a trick question? ;-)

Some people insist that to be Truly Object Oriented you HAVE to support
Multiple Inheritance! .NET does not support Multiple Inheritance, it does
however allow you to implement multiple interfaces, not exactly the same
thing, but I find its a workable alternative.

Some people insist that to be Truly Object Oriented you HAVE to support
Operator Overloading! Currently VB.NET does not support Operator
Overloading. However Whidbey (VS.NET 2004) will support Operator
Overloading.

Some people insist that to be Truly Object Oriented you HAVE to support
Templates (aka Generics)! Currently .NET does not support Templates or
Generics, however Whidbey (VS.NET 2004) will support Generics.

Some people insist that to be Truly Object Oriented you HAVE to support
Feature X! .NET and/or VB.NET does not support Feature X.

Some people insist that to be Truly Object Oriented you HAVE to support Late
Binding, VB.NET of course fully supports Late Binding at the expense of
execution time.

In my book VB.NET is Object Oriented programming on the same level as Java
and C#. As Herfried & Scott pointed out it supports Polymorphism,
Inheritance and Encapsulation.

Hope this helps
Jay
 
Hi,

VB6 supported a lot of the OO features mentioned here, i.e. encapsulation,
interfaces.
The main thing that people moaned about with VB6 was that there was no
implementation inheritence which in VB.NET there now is,
(plus a ton of other OO stuff).

Bye,
Pete
 
Back
Top