Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Mapowanie różnych typów dziedziczenia do Javy Bartosz Rybak Michał Malczewski."— 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 extends Komputer { } class LaptopAMD extends Komputer { }

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 extends Komputer { } class Laptop_WIFI extends Komputer { }

13 Wielodziedziczenie – obejście przez kompozycję class Komputer { Laptop laptop; Komputer_WIFI komputerWIFI; } class Laptop extends Komputer { } class Komputer_WIFI extends Komputer { }

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

15 Dziedziczenie wieloaspektowe

16 Dziedziczenie wieloaspektowe – obejście przez kompozycję

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 extends KomputerJakoNarzedzie { } class StaryKomputer extends KomputerWPenymWieku { } class NowyKomputer extends KomputerWPenymWieku { }

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 extends KomputerJakoNarzedzie { } class KomputerPrezesa extends KomputerJakoNarzedzie { } class StaryKomputer extends KomputerWPenymWieku { } class NowyKomputer extends KomputerWPenymWieku { }

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 extends Komputer { } class StaryKomputerInformatyka extends Komputer { } class MlodyKomputerInformatyka extends Komputer { } 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 implements IKomputer { }

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 Bartosz Rybak Michał Malczewski."

Podobne prezentacje


Reklamy Google