Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć tematyka jest ważna, gdyż dziedziczenie i polimorfizm są mechanizmami wykorzystywanymi powszechnie w programowaniu obiektowym. Aby ze zrozumieniem zrealizować zadania, przewidziane do wykonania w ramach zajęć laboratoryjnych, należy znać znaczenie pojęć takich jak: dziedziczenie, klasa bazowa, klasa potomna, polimorfizm, metoda wirtualna, kolekcja List<T> i jej podstawowa funkcjonalność. Należy również znać podstawy języka modelowania systemów informatycznych UML.
1. Dziedziczenie
Dziedziczenie polega na tworzenie nowej klasy na podstawie klasy już istniejącej.
W języku C# dziedziczeniu podlegają: pola klasy, właściwości oraz metody. Podobnie jak w C++ elementy klasy, które w klasie bazowej zostały oznaczone jako „public” lub „protected”, w klasie potomnej również będą miały ten sam zakres widoczności, natomiast elementy oznaczone jako „private” lub „intemal” nie podlegają dziedziczeniu.
Mechanizm dziedziczenia przedstawia poniższy przykład:
Przykład 1 |
Dziedziczenie | |
3 |
class Budynek | |
9 |
{ | |
10 |
protected string adres = nuli; | |
11 | ||
12 |
public Budynek (string adres_) | |
13 |
{ | |
14 |
adres = adres ; | |
15 |
} | |
16 | ||
17 |
public string Adres | |
18 |
{ | |
19 |
get | |
20 |
{ | |
21 |
return adres; | |
22 |
} | |
23 |
} | |
24 | ||
25 |
} | |
26 | ||
27 |
class BudynekHieszkalny: Budynek | |
23 |
{ | |
29 |
private int liczbaMieszkancow = e; | |
30 | ||
31 |
public BudynekMieszkalny(string adres , int liczbaMieszkancow ): | |
32 |
base(adres ) | |
33 |
{ | |
34 |
liczbaMieszkancow = liczbaMieszkancow ; | |
35 |
} | |
36 | ||
37 |
public int LiczbaMieszkancow | |
38 |
{ | |
39 |
get | |
40 |
{ | |
41 |
return liczbaMieszkancow; | |
42 |
> | |
43 |
> | |
44 |
} |
1