I am in the process of learning this new programming paradigm called OOP (I am a very seasoned structured programmer). In that context I am receiving what I call contradictions in vb.net regarding the instantiation of an object. Given the two lines of code below:
Dim SQLcmd As New SqlCommand
Dim SQLdr As SqlDataReader
The first line is quite simple - SQLcmd is an object - period. It is the second line that is creating the ambiguity. One reference I have read says in order for a class to instantiate an object the key word "new" must be used. But I have also seen examples where SQLdr is also called an object? To add to the ambiguity I have seen class examples where the class was constructed without a new subroutine (a constructor) and called with the key word "new" which I have been informed by vb.net on more than one occasion in doing such that "there are no constructors" in the class. So would someone please tell me - Is SQLdr an object and if so is it by inheritance (the other escape path) or what; and lastly am I correct in my understanding that in order to use the key word "new" there must be a "new" subroutine/function/constructor in the class. I thank you for your time and expertise.
Respectfully,
Gordon Haas
Dim SQLcmd As New SqlCommand
Dim SQLdr As SqlDataReader
The first line is quite simple - SQLcmd is an object - period. It is the second line that is creating the ambiguity. One reference I have read says in order for a class to instantiate an object the key word "new" must be used. But I have also seen examples where SQLdr is also called an object? To add to the ambiguity I have seen class examples where the class was constructed without a new subroutine (a constructor) and called with the key word "new" which I have been informed by vb.net on more than one occasion in doing such that "there are no constructors" in the class. So would someone please tell me - Is SQLdr an object and if so is it by inheritance (the other escape path) or what; and lastly am I correct in my understanding that in order to use the key word "new" there must be a "new" subroutine/function/constructor in the class. I thank you for your time and expertise.
Respectfully,
Gordon Haas