Programming VB.NET #001 - Inherite

2016.09.26 17:21

봄이조아 Views:601

 

 

 

    Public Class Base
        Public name As String
 
        Public Sub New(ByVal newname As String)
            name = newname
        End Sub
 
        Sub CallTest()
            MyClass.Calling()
            Me.Calling()
        End Sub
 
        Overridable Sub Calling()
            MessageBox.Show(name & " AAA")
        End Sub
    End Class
 
    Public Class Child
        Inherits Base
        ' Base 클래스를 상속한다, 코드가 삽입되는 것과 같다
 
        Dim ceoname As String
        Public Sub New(ByVal newname As String, ByVal newceo As String)
            MyBase.New(newname)
            ceoname = newceo
        End Sub
 
        Public Overrides Sub Calling()
            MsgBox(name & " BBB")
        End Sub
 
    End Class
 
Public Class Form1
    Dim cust2 As Customer.Child = New Customer.Child("AAA", "BBB")
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        cust2.CallTest()
    End Sub
End Class
 
1. 위에서 Child는 Base를 상속하여 마치 Base 코드가 삽입된 것과 같다
 
2. cust2 호출시에 두개의 파라미터를 이용하여, Child의 New 가 실행된다
    - 만약 파라미터가 1개라면 Base 코드의 New 가 실행된다
 
3. Child 에서 Override 로 Calling을 설정해서, Base 의 Calling 을 더이상 호출할 수 없다
 
4. Base 의 CallTest 는 MyClass.Calling 의 경우에는 Base 의 Class에 한정된 Calling 이 가능
 
5. Base 의 CallTest 는 Me.Calling 의 경우에 이미 Base 가 Child에 포함되어, Me.Calling 즉,
    Child의 Calling 함수를 호출하는 것과 같다
 
6. Child에서는 MyClass 또는 Me 어떤 것을 호출해도 Child의 Calling 함수가 호출된다