Advance ObjectOriented in Visual Basic .NET - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

Advance ObjectOriented in Visual Basic .NET

Description:

A special object that groups a set of constants together. Public ... MessageBox.Show('My car is overheat.') End Sub. 13. NameSpace. A. X.B. X.B.C. X.Y.D. X.Y.E ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 14
Provided by: bcSia
Category:

less

Transcript and Presenter's Notes

Title: Advance ObjectOriented in Visual Basic .NET


1
AdvanceObject-Oriented inVisual Basic .NET
2
Enumeration
  • A special object that groups a set of constants
    together.

Public Enum Faculty Business 1 Science
2 Engineer 3 End Enum
Dim x As Faculty x Faculty.Engineer MessageBox.S
how(x) ' Result 3
3
Shadowing
  • Hides base class members, even if overloaded

Class aBase Public Sub M1( )
'Non-overridable by default ... End
Sub End Class Class aShadowed Inherits
aBase Public Shadows Sub M1(ByVal i As
Integer) 'Clients can only see this method
... End Sub End Class
Dim x As New aShadowed( ) x.M1( ) 'Generates an
error x.M1(20) 'No error
4
Using the MyBase Keyword
  • Refers to the immediate base class
  • Can only access public, protected, or friend
    members of base class
  • Is not a real object (cannot be stored in a
    variable)

Public Class DerivedClass Inherits
BaseClass Public Overrides Sub
OverrideMethod( ) MsgBox("Derived
OverrideMethod") MyBase.OverrideMethod(
) End Sub End Class
5
Using the MyClass Keyword
  • Ensures that base class gets called, not derived
    class

Public Class Father Public Overridable Sub
OverrideMethod( ) MsgBox("Father
OverrideMethod") End Sub Public Sub
Other( ) MyClass.OverrideMethod( )
OverrideMethod( ) End Sub End Class
Public Class Son Inherits Father Public
Overrides Sub OverrideMethod()
MsgBox("Son OverrideMethod") End Sub End Class
Dim x As New Son( ) x.Other( )
6
Defining Interfaces
  • Interfaces define public procedure, property, and
    event signatures
  • Use the Interface keyword to define an interface
    module
  • Overload members as for classes
  • Use the Inherits keyword in an interface to
    inherit from other interfaces

Interface IMyInterface Function Method1(ByRef
s As String) As Boolean Sub Method2( )
Sub Method2(ByVal i As Integer) End Interface
7
Interface Sample
Dim C3 As iCustTh New Customer C3.BYear( )
Dim C1 As New Customer C1.BYear( )
Dim C4 As New Customer Dim C4a As iCustTh
C4 C4a.BYear( )
Dim C2 As iCustEng New Customer C2.BYear( )
8
Achieving Polymorphism
  • Polymorphism
  • Many classes provide the same property or method
  • A caller does not need to know the type of class
    the object is based on
  • Two approaches
  • Interfaces
  • Class implements members of interface
  • Same approach as in Visual Basic 6.0
  • Inheritance
  • Derived class overrides members of base class

9
Using Shared Data Members
  • Allow multiple class instances to refer to a
    single class-level variable instance

Class Student Public Shared Count As Integer
0 Public Name As String Sub New()
Count 1 End Sub Protected
Overrides Sub Finalize() Count - 1
End Sub End Class
Dim S1 As New Student("Peter") Dim S2 As New
Student("John") MessageBox.Show(Student.Count) '
Return 2
10
Using Shared Procedure Members
  • Share procedures without declaring a class
    instance
  • Can only access shared data

Public Class MyCalculator Public Shared
Function Add( Val1 As Integer, Val2 As Integer)
As Integer Return Val1Val2 End
Function End Class
'Client code Messagebox.Show(MyCalculator.Add(3,5)
)
11
Defining and raising events
  • Define event
  • Raise event

Public Class Car Public Speed As Integer
Public Event onOverHeat()
Public Sub IncreaseSpeed(Sp As Integer) Speed
SP If Speed gt120 then RaiseEvert
onOverHeat() End If End Sub End Class
12
Event Handling
  • WithEvents keyword
  • In Visual Basic .NET, works with Handles keyword
    to specify method used to handle event
  • AddHandler keyword allows dynamic connection to
    events
  • RemoveHandler keyword disconnects from event
    source

Dim x As New Car( ), y As New Car( ) AddHandler
x.onOverHeat, AddressOf OverHeatEvent AddHandler
y.onOverHeat, AddressOf OverHeatEvent ... x.Incres
eSpeed(150) Sub OverHeatEvent()
MessageBox.Show("My car is overheat.") End Sub
13
NameSpace
  • A
  • X.B
  • X.B.C
  • X.Y.D
  • X.Y.E

Class A End Class Namespace X Class B
Class C End Class End Class
Namespace Y Class D End Class
End Namespace End Namespace Namespace X.Y
Class E End Class End Namespace
NameSpace is a group logically of classes. Cannot
use to create an object.
Dim x1 As New A ' OK Dim x2 As New X.B '
OK ' Cannot use Dim x3 As New X.Y ' Y is a
NameSpace (not a Class)
Write a Comment
User Comments (0)
About PowerShow.com