Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Mapowanie różnych typów dziedziczenia do Javy

Podobne prezentacje


Prezentacja na temat: "Mapowanie różnych typów dziedziczenia do Javy"— Zapis prezentacji:

1 Mapowanie różnych typów dziedziczenia do Javy
Bartosz Rybak Michał Malczewski

2 Plan prezentacji... Kilka podstawowych słów kluczowych Disjoint
Ovelapping Incomplete Complete Wielodziedziczenie Dziedziczenie wieloaspektowe Dziedziczenie dynamiczne

3 Kilka podstawowych słów kluczowych
Class Extends Abstract Interface Implements

4 Disjoint – podział rozłączny
Przecięcie zbiorów obiektów podklas jest zbiorem pustym. Domyślny podział. Implementacja podziału rozłącznego nie nastręcza żadnych problemów – jest to domyślny sposób.

5 Overlapping Przecięcie zbiorów obiektów podklas nie musi być zbiorem pustym Implementacja wymaga wprowadzenia kilku zmian do diagramu.

6 Obejście overlappingu poprzez zastosowanie dodatkowej klasy
class Komputer { } class Laptop extends Komputer { class KomputerAMD class LaptopAMD

7 Obejscie ovelappingu poprzez zastosowanie kompozycji
class Komputer { Laptop laptop; KomputerAMD komputerAMD; } class Laptop { class KomputerAMD {

8 Incomplete – podział niekompletny
Nie zdefiniowano wszystkich podklas. Jest podziałem domyślnym w trakcie implemenmtacji (np. w języku Java) mimo, że w trakcie projektowania nie; implementacja nie wymaga więc żadnych dodatkowych działań

9 Complete – podział kompletny
Zdefiniowano wszystkie podklasy

10 Complete, Incomplete – implementacja
Pojęcia Complete i Incomplete są wykorzystywane w modelu pojęciowym. Nie mają odniesienia w trakcie implementacji. Disjoint jest podziałem domyślnym. class Komputer { } class Przenosny extends Komputer { class Stacjonarny extends Komputer { class Tablet extends Komputer { 

11 Multi-inheritance - wielodziedziczenie
polega na jednoczesnym dziedziczeniu po wielu wielu klasach nadrzędnych naraz Java nie obsługuje wielodziedziczenia

12 Wielodziedziczenie – obejście przez zastosowanie dodatkowej podklasy
class Komputer { } class Laptop extends Komputer { class Komputer_WIFI class Laptop_WIFI

13 Wielodziedziczenie – obejście przez kompozycję
class Komputer { Laptop laptop; Komputer_WIFI komputerWIFI; } class Laptop extends Komputer { class Komputer_WIFI wspomniec o tym, żeby implementacja zapewniala automatyczne kasowanie elementow z kompozycji

14 Wielodziedziczenie – obejście przez wykorzystanie interfejsów
class Komputer {} interface IPrzenosny {} interface IKomunikacjaBezprzewodowa {} class Laptop extends Komputer implements IPrzenosny { } class Komputer_WIFI implements IKomunikacjaBezprzewodowa{ class Laptop_WIFI implements IPrzenosny, IKomunikacjaBezprzewodowa{

15 Dziedziczenie wieloaspektowe

16 Dziedziczenie wieloaspektowe – obejście przez kompozycję
wspomniec o tym ze pierwszy poziom to klasy abstrakcyjne

17 Dziedziczenie wieloaspektowe – obejście przez kompozycję (2)
class Komputer { KomputerWPenymWieku wiek; KomputerJakoNarzedzie narzedzie; } abstract class KomputerWPenymWieku { abstract class KomputerJakoNarzedzie{ class UrzadzeniePasjansowe extends KomputerJakoNarzedzie { class KomputerInformatyka extends KomputerJakoNarzedzie { } class KomputerPrezesa class StaryKomputer extends KomputerWPenymWieku { class NowyKomputer

18 Realizajca dziedziczenia wieloaspektowego z wykorzystaniem dziedziczenia i kompozycji

19 Realizajca dziedziczenia wieloaspektowego z wykorzystaniem dziedziczenia i kompozycji cd.
class Komputer { KomputerWPenymWieku wiek; } abstract class KomputerWPenymWieku { abstract class KomputerJakoNarzedzie extends Komputer{ class UrzadzeniePasjansowe extends KomputerJakoNarzedzie { class KomputerInformatyka class KomputerPrezesa extends KomputerJakoNarzedzie { } class StaryKomputer extends KomputerWPenymWieku { class NowyKomputer

20 Dziedziczenie wieloaspektowe – obejście przez zagnieżdżoną specyfikację

21 Dziedziczenie wieloaspektowe – obejście przez zagnieżdżoną specyfikację cd.
abstract class Komputer { } abstract class KomputerMlodszyNizRok extends Komputer { abstract class KomputerStarszyNizRok class StaryKomputerInformatyka class MlodyKomputerInformatyka class ...itakdalej

22 Dynamic - dziedziczenie dynamiczne
obiekt nie musi być wystąpieniem jednej klasy przez cały okres swojego życia podstawowy sposób implementacji polega na tworzeniu nowego obiektu i przepisywaniu pól ze starego

23 Dziedziczenie dynamiczne – implementacja przez kompozycje
class Komputer { Laptop laptop; Stacjonarny stacjonarny; Tablet tablet; } class Laptop { class Stacjonarny { class Tablet {

24 Dziedziczenie dynamiczne – wykorzystanie interfejsu
Laptop laptop = new Laptop(); Tablet tablet = new Tablet(); IKomputer jakisKomputer; // komputer jest laptopem jakisKomputer = laptop; // komputer jest tabletem jakisKomputer = tablet; interface IKomputer { } class Laptop implements IKomputer { class Tablet

25 Zadanie 1 Firma Kafar zajmuje się wynajmem ochroniarzy. Potrzebny jest jej system który będzie przechowywał informacje o pracownikach administracji firmy oraz o ochroniarzach. Zaprojektuj diagram pojęciowy i implementacyjny odpowiedni do danego problemu, przy założeniu że pracownik administracji nie może być ochroniarzem.

26 Zadanie 2 Firma X zajmuje się przechowywaniem informacji o wyborcach w danym okręgu. Każdy wyborca może być jednocześnie kandydatem w tych samych wyborach. Zaprojektuj diagram pojęciowy i implementacyjny odpowiedni do tego problemu.

27 Zadanie 3 Firma X potrzebuje systemu który umożliwi jej przechowywanie informacji na temat osób zatrudnionych w firmie. Szefowi zależy bardzo na podziale osób ze względu na stanowiska oraz ze względu na typ ubezpieczenia jakim pracownicy są objęci. . Zaprojektuj diagram pojęciowy i implementacyjny odpowiedni do tego problemu.

28 Zadanie 4 Firma Kabut zwróciła się do ciebie z prośba stworzenia systemu do przechowywania danych o samochodach pracowników. Samochody mogą być prywatne lub służbowe. Każdy samochód służbowy może być po 3 latach odkupiony przez pracownika. Zaprojektuj diagram pojęciowy i implementacyjny odpowiedni do tego problemu.


Pobierz ppt "Mapowanie różnych typów dziedziczenia do Javy"

Podobne prezentacje


Reklamy Google