JavaScript Editor
JavaScript Debugger|
| ||
If you make a class member private, it's available only in the present class—not outside that class, and not in any class derived from that class. For example, if I made the MainForm member of the Animal class private in the Inheritance example on the CD-ROM, as discussed in the previous topic and in the In Depth section of this chapter, then that member would not be available in the derived class named Dog. That means this code wouldn't work, because I've made MainForm private but tried to use it in the derived Dog class (note also that the button event handlers are private in the Form1 class, which means they can't be used in any class derived from Form1):
Public Class Form1
Inherits System.Windows.Forms.Form
'Windows Form Designer generated code
Dim spot As Dog
Dim jaws As Fish
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
spot = New Dog(Me)
spot.Breathing()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
jaws = New Fish(Me)
jaws.Breathing()
End Sub
End Class
Public Class Animal
Private MainForm As Form1
Public Sub New(ByVal form1 As Form1)
MainForm = form1
End Sub
Public Overridable Sub Breathing()
MainForm.TextBox1.Text = "Breathing..."
End Sub
End Class
Public Class Dog
Inherits Animal
Public Sub New(ByVal form1 As Form1)
MyBase.New(form1)
End Sub
Public Sub Barking()
MainForm.TextBox1.Text = "Barking..." 'Will not work now!!!
End Sub
End Class
Public Class Fish
Inherits Animal
Public Sub New(ByVal form1 As Form1)
MyBase.New(form1)
End Sub
Public Overrides Sub Breathing()
MainForm.TextBox1.Text = "Bubbling..."
End Sub
End Class
Note that if you declare a class Private, all the members in it are restricted to that class.
|
| ||
Free JavaScript Editor
JavaScript Editor