• Nie Znaleziono Wyników

Powtórzenie – 1_Dziedziczenie

N/A
N/A
Protected

Academic year: 2021

Share "Powtórzenie – 1_Dziedziczenie"

Copied!
2
0
0

Pełen tekst

(1)

Powtórzenie – 1_Dziedziczenie

Copyright © 2020 mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis 1 1_Dziedziczenie

Zadanie

Utworzyć aplikację posiadającą klasę bazową Nieruchomosc i dwie klasy potomne: Budynek_mieszkalny i Garaż.

Obliczyć średnią powierzchnię pojedynczego mieszkania w budynku mieszkalnym i liczbę miejsc parkingowych w budynku garażowym

Klasa bazowa Nieruchomosc niech posiada:

- właściwość Powierzchnia_uzytkowa

Klasa potomna Budynek_mieszkalny niech posiada - właściwość Liczba_mieszkan

- metodę Srednia_powierzchnia (średnia powierzchnia jednego mieszkania).

Druga klasa potomna Garaz niech posiada

- właściwość Powierzchnia_na_samochód (czyli powierzchnia w m2 jaka jest przyjęta na 1 samochód) - metodę Liczba_samochodow (całkowita liczba samochodów do zaparkowania w tym garażu)

Kody klas

Klasa bazowa Public Class Nieruchomosc

'Aby zmienna _Powierzchnia_uzytkowa mogła być używana (dostępna) 'w klasach potomnych - deklarujemy ją nie Private lecz Protected Protected _Powierzchnia_uzytkowa As Integer

Public Property Powierzchnia_uzytkowa As Integer Get

Return _Powierzchnia_uzytkowa End Get

Set(value As Integer)

_Powierzchnia_uzytkowa = value End Set

End Property End Class

Klasa potomna: Budynek mieszkalny Public Class Budynek_mieszkalny

' Dziedziczy po klasie Budynek:

Inherits Nieruchomosc

Private _Liczba_mieszkan As Integer

Public Property Liczba_mieszkan As Integer Get

Return _Liczba_mieszkan End Get

Set(value As Integer)

_Liczba_mieszkan = value End Set

End Property

Public Function Srednia_powierzchnia() As Single Return _Powierzchnia_uzytkowa / _Liczba_mieszkan End Function

End Class

(2)

Powtórzenie – 1_Dziedziczenie

Copyright © 2020 mgr inż. Janusz Bonarowski, mgr inż. Jacek Jusis 2 Klasa potomna: Garaż

Public Class Garaz

' Dziedziczy po klasie Nieruchomosc:

Inherits NIeruchomosc

Private _Powierzchnia_na_samochod As Single

Public Property Powierzchnia_na_samochod As Single Get

Return _Powierzchnia_na_samochod End Get

Set(value As Single)

_Powierzchnia_na_samochod = value End Set

End Property

Public Function Liczba_samochodow() As Integer

Return Int(_Powierzchnia_uzytkowa / _Powierzchnia_na_samochod) End Function

End Class

Kod formularza

Private Sub ButtonOblicz_Click(sender As Object, e As EventArgs)

Handles ButtonOblicz.Click ' --- Obliczenia dla budynku mieszkalnego ---

Dim BlokDobra5 As New Budynek_mieszkalny

' Korzystamy z odziedziczonej właściwości:

' Powierzchnia użytkowa budynku mieszkalnego

BlokDobra5.Powierzchnia_uzytkowa = CSng(TextBoxBlokPowierzchnia.Text) ' Korzystamy z właściwości klasy potomnej:

' (całkowita) Liczba mieszkań w bloku

BlokDobra5.Liczba_mieszkan = CInt(TextBoxLiczbaMieszkan.Text)

' Korzystam z metody klasy potomnej, obliczam: Średnią pow. mieszkania TextBoxSredniaPowierzchniaMieszkania.Text = _

CStr(BlokDobra5.Srednia_powierzchnia) ' --- Obliczenia dla budynku garażowego ---

Dim GarazWesola7 As New Garaz

' Korzystam z odziedziczonej właściwości: Powierzchnia użytkowa Nieruchmości GarazWesola7.Powierzchnia_uzytkowa = CSng(TextBoxGarazPowierzchnia.Text) ' Korzystam z właściwości klasy potomnej: Powierzchnia na samochód

GarazWesola7.Powierzchnia_na_samochod = _

CSng(TextBoxPowierzchniaNaSamochod.Text) ' Korzystam z metody klasy potomnej: Liczba samochodów (w całym garażu) TextBoxLiczbaSamochodow.Text = CStr(GarazWesola7.Liczba_samochodow) End Sub

Rysunek 1. Postać formularza

Cytaty

Powiązane dokumenty

Ruchem jednostajnie przyspieszonym prostoliniowym (przyspieszonym w sposób jednostajny) nazywamy taki ruch, w którym przyspieszenie jest stałe, co oznacza, że prędkość rośnie

Siła tarcia kinetycznego działa między powierzchnią poruszającego się ciała a powierzchnią podłoża. Ma ona kierunek zgodny z kierunkiem przemieszczania się ciała, a jej

1.Jeśli przez przewodnik płynie prąd, to wokół tego przewodnika powstaje pole magnetyczne.. 2.Obecność oraz kierunek linii tego pola można wykryć za pocą

Utworzyć strukturę eksportowanego projektu (zaznaczyć Create directory structure for files), zaznaczyć eksportowane katalogi i pliki oraz wybrać katalog do eksportu pliku..

Przeczytajcie jeszcze raz notatki dotyczące ziemniaków i spróbujcie odpowiedzieć na pytania:.. Dlaczego ziemniaki jadalne podzielono na

Jeśli przyłożymy ten wektor do środka układu współrzędnych, to będzie on wskazywał punkt (1, 2), ale jeśli przyłożymy go do punktu (3, 5), to wskaże punkt (4,

Klasa dziedzicząca jest często nazywana klasą pochodną lub potomną (w j. Z jednej klasy bazowej można uzyskać dowolną liczbę klas pochodnych. Klasy pochodne posiadają obok

Dyskretne i ciągłe rozkłady prawdopodobieństwa 14 listopada