8. Class Person
Public Name As String
Public Address As String
Public City As String
End Class
9. Public Class Customer
Public Name As String
Public Address As String
Public City As String
End Class
Public Class Employee
Public Name As String
Public Addresss As String
Public City As String
End Class
10.
11. VB.NET Supports Single
Inheritance
Public Class Programmer
Inherits Employee
Public Project As String
End Class
Public Class Manager
Inherits Employee
Public intMangedEmployees As Integer
End Class
12.
13. Inheritance Hierarchy
In the previous example Programmer class
contains members defined in its immediate
base class, Employee
Also members defined in the Employee’s
base class, Person
14. Protected Accessibility
A derived Class does not have access to its
base classes’ Private Members
Private Members can only be accessed in the
immediate Class in which they are defined
Protected Members can however be accessed
within an inheritance hierarchy
15. Con’td
Class Student
Private strStudentID As String
Protected CourseTitle As String
End Class
16. Cont’d
Class Guest
Inherits User
Sub New ( )
‘Results in an Error message
‘Error:strStudentID is private to Student
strStudentID= “90000000”
‘This will work
CourseTitle = “BIS”
End Sub
18. Overriding
If a method or base class does not fit the
requirements of the same methods in the derived
class you can create a new method with the same
name that performs different actions
VB supports Polymorphism through overrides
You can override a method in the base Class by using
the Overridable keyword to declare it
You can then declare the same method in the derived
class but give it different functionality
19. An Example
Public Class ParentClass
Public Overridable Sub ParentMethod()
MsgBox(“Hello World from parent”)
End Sub
End Class
Public Class ChildClass
Inherits ParentClass
Public Overrides Sub ParentMethod()
msgBox(“Hello World from child”)
End Sub
End Class
21. Oveloading Methods
One of the most powerful new polymorphic
features in VB.NET is the ability to overload a
method
Overloading means that we can declare a
method of the same name more than once in
a class once we provide it with a new
parameter list
A different parameter list in this case means
different data types in the list or a different
number of arguments.
22. Overloading Methods Cont’d
Public Sub Method1(i As integer, j As
Integer)
The parameter list of the method above can be
thought of as (integer, integer)
To overload this method we need to come up with a
different paramater list e.g:
(string, decimal)
(integer, integer, string)
23. Overloading Methods Cont’d
Public Function SearchEmployees(ByRef Name
_ As String) As Boolean
„Code to search through the database
MessageBox.Show(“Employee Found”)
End Function
Arguments are passed to method ByVal as default
Perhaps in our application we created a Employee class and
we wish to search for employees by employee name:
24. Overloading
If you wanted to search for Employees by age??
VB 6?
VB.NET?
Public Function SearchEmployees (ByRef Age As _ Integer
As Boolean
‘Code to Search Database
MessageBox.Show (“Employee Found”)
End Function
25. Terminating
In VB6 an object was destroyed when its
reference counter was decremented to zero
VB.NET does not use reference counting to
determine when an object should be
destroyed it uses garbage collection
26. Garbage Collection
How it works is quite simple
Scans system for references
Removes problem of circular references and
objects living when they should have been
destroyed
Performance gain, scan when system is idle
Can be called explicitly
System.GC.Collect()
27. Finalize Method
Garbage collection is similar to VB6
Class_Terminate Event
As object is being terminated the garbage
collection will call its Finalize method
Protected Overrides Sub Finalize ()
‘Clean up code here
End Sub
MyStudent = Nothing