Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PGO Dziedziczenie Michail Mokkas.

Podobne prezentacje


Prezentacja na temat: "PGO Dziedziczenie Michail Mokkas."— Zapis prezentacji:

1 PGO Dziedziczenie Michail Mokkas

2 Spis treści Czym jest dziedziczenie? Co dziedziczą klasy?
Dziedziczenie w Javie Przesłanianie metod Przykład dziedziczenia Klasy i metody abstrakcyjne Polimorfizm Przykład polimorfizmu Zadania

3 Czym jest dziedziczenie?
Różne typy obiektów nieraz mają podobne cechy. np. samochody i rowery mają koła, kierownicę, biegi, itp. Prócz cech wspólnych, mogą dysponować takżę innymi cechami (niewspólnymi). W programowaniu obiektowym dziedziczenie służy do przekazywania cech wspólnych innym klasom bez konieczności ich przepisywania.

4 Co dziedziczą klasy? Klasa dziedziczy: Klasa nie dziedziczy: atrybuty
metody klasy zagnieżdżone Klasa nie dziedziczy: konstruktora (podklasa może wywołać konstruktor nadklasy)

5 Dziedziczenie w Javie Wszystkie klasy w Javie dziedziczą od klasy Object Java umożliwia wielodziedziczenie typów – zdolność klasy do implementowania więcej niż jednego interfejsu Java nie umożliwia: wielodziedziczenia stanu – zdolność klasy do dziedziczenia atrybutów z więcej niż jednej klasy wielodziedziczenie implementacji - zdolnośc klasy do dziedziczenia definicji metod z więcej niż jednej klasy źródło ilustracji:

6 Przesłanianie metod Metoda w klasie nadrzędnej, która ma taką samą nazwę, ilość parametrów, i typ jest możliwa do przesłonięcia w klasie podrzędnej. Mechanizm ten wykorzystywany jest do zmiany zachowania metody z klasy nadrzędnej w klasie podrzędnej. Przypomnienie: toString() Użycie jeżeli kompilator zauważy, że metoda, którą chcemy przesłonić, nie istnieje w żadnej z klas nadrzędnych to wygeneruje błąd

7 Przykład dziedziczenia

8 Przykład dziedziczenia kont. 1

9 Rezultat Konsola:

10 Klasy i metody abstrakcyjne
Słowo kluczowe abstract: dla metody oznacza, że nie ma implementacji (ciała). Klasy podrzędne muszą dostarczać implementację. abstract void display(String str); dla klasy, że nie może być instancjowana (nie możemy tworzyć jej obiektów). public abstract class Person{ //atrybuty //metody //metody abstrakcyjne }

11 Polimorfizm Z gr. : πολύς (wiele) + μορφή (kształt/postać) = wielopostaciowość Jest to mechanizm, który umożliwia wykorzystanie pewnego zachowania dla potencjalnie wielu klas implementujących to zachowanie (metodę). Zdolność obiektów jakiegoś typu na korzystanie z tego samego interfejsu, lecz innej jego implementacji.

12 Przykład polimorfizmu

13 Rezultat Konsola:

14 Zadanie D1 Stwórz klasy Pracownik, Programista i Administrator
Klasa Pracownik powinna być klasą abstrakcyjną. Zarówno programista jak i administrator powinni posiadać pola: ID pracownika imię nazwisko Dodatkowo programista powininen posiadać pole: lista języków programowania (tablica) A administrator powininen posiadać pole: lista systemów pod opieką (tablica) Użyj dziedziczenia.

15 Zadanie D2 Przerób poniższy diagram klas (UML Class Diagram) na kod.

16 Zadanie D3 Stwórz klasy Vehicle, Car i Racingcar.
Korzystając z dziedziczenia oraz przesłonięcia napisz metodę display_typeOfVehicle(); Tak, aby było możliwe wykonanie następującego kodu: Vehicle v = new Vehicle(); Car c = new Car(); Racingcar rc = new Racingcar(); v.display_typeOfVehicle(); c.display_typeOfVehicle(); rc.display_typeOfVehicle(); Rezultat (konsola): This is a vehicle. This is a car. This is a racing car.

17 Zadanie D4 Stwórz klasy Browser, Chrome, Firefox i Opera.
Powinno być możliwe wykonanie następującego kodu: Browser chrome = new Chrome(); Browser firefox = new Firefox(); Browser opera = new Opera(); chrome.info(); firefox.info(); opera.info(); Rezultat (konsola): To jest Chrome. To jest Firefox. To jest Opera. Użyj polimorfizmu.


Pobierz ppt "PGO Dziedziczenie Michail Mokkas."

Podobne prezentacje


Reklamy Google