Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.