Copyright © 2015, mgr inż. Janusz Bonarowski 1
Polimorfizm – budynki
1Polimorfizm - w informatyce pojęcie dla określenia różnych sposobów zachowania się metody o tej samej nazwie w zależności od obiektu, na którym jest wykonywana. Polimorfizm wiąże się ściśle z dziedziczeniem.
Zadanie
Utworzymy klasę bazową Budynek posiadający metodę o nazwie WypiszInfo() wypisującą dowolną informację. Informacja dlatego może być dowolna, gdyż metoda ta będzie nadpisywana przez metody z klas potomnych.
Utwórzmy dwie klasy potomne: Budynek_gospodarczy i Budynek_mieszkalny. Niech także te klasy posiadają metody o takiej samej nazwie WypiszInfo() lecz wypisujące odpowiednio różne komunikaty. Metody te niech nadpiszą metodę z klasy bazowej.
Plik klas Class.vb
Public Class BudynekPublic Overridable Function WypiszInfo() As String ' ===========
'Return "cokolwiek lub zakomentować"
End Function End Class
Public Class Budynek_mieszkalny Inherits Budynek
Public Overrides Function WypiszInfo() As String ' =========
Return "To jest budynek mieszkalny."
End Function End Class
Public Class Budynek_gospodarczy Inherits Budynek
Public Overrides Function WypiszInfo() As String ' =========
Return "To jest budynek gospodarczy."
End Function End Class
Plik klas Form1.vb
Public Class Form1Dim mojBudynek As Budynek
Private Sub Button1_Click(sender As Object, e As EventArgs) _
Handles Button1.Click mojBudynek = New Budynek_mieszkalny
TextBox1.Text = mojBudynek.WypiszInfo
mojBudynek = New Budynek_gospodarczy TextBox2.Text = mojBudynek.WypiszInfo End Sub
End Class
1 Pomysła zadania oparty na materiałach ze strony mgr inż. Patryka Najgebauera: http://iisi.pcz.pl/~pnajgebauer/obiektowe/