Dziedziczenie całkowite (complete)

8
Dziedziczenie całkowite (complete) Dziedziczeniem całkowitym nazywamy sytuację kiedy zbiór podklas wyczerpuje wszystkie mozliwości z rozważanego problemu, lub kiedy projektant zablokuje możliwość rozszerzania zbioru o nowe klasy. Przykład UML : Kolor podstawowy Czerony (Red) Niebieski (Blue) Zielony (Green) {complete} {abstract}

description

Dziedziczenie całkowite (complete). Dziedziczeniem całkowitym nazywamy sytuację kiedy zbiór podklas wyczerpuje wszystkie mozliwości z rozważanego problemu, lub kiedy projektant zablokuje możliwość rozszerzania zbioru o nowe klasy. Przykład UML :. Kolor podstawowy. {abstract}. {complete}. - PowerPoint PPT Presentation

Transcript of Dziedziczenie całkowite (complete)

Page 1: Dziedziczenie całkowite (complete)

Dziedziczenie całkowite (complete)

Dziedziczeniem całkowitym nazywamy sytuację kiedy zbiór podklas wyczerpuje wszystkie mozliwości z rozważanego problemu, lub kiedy projektant zablokuje możliwość rozszerzania zbioru o nowe klasy.

Przykład UML :

Kolor podstawowy

Czerony (Red) Niebieski (Blue) Zielony (Green)

{complete}

{abstract}

Page 2: Dziedziczenie całkowite (complete)

Dziedziczenie niecałkowite (incomplete)

Przykład UML :

Kolor

Czerony (Red) Niebieski (Blue) Zielony (Green)

{incomplete}

Dziedziczeniem niecałkowitym nazywamy sytuację kiedy zbiór podklas nie wyczerpuje wszystkich możliwości z rozważanego problemu, kiedy projektant daje możliwość rozszerzania zbioru o nowe klasy, lub też po prostu inne niektóre klasy np.: nieistotne dla rozważanego problemu zostały pominięte.

Page 3: Dziedziczenie całkowite (complete)

Dziedziczenie nie/całkowite (in/complete) JAVA

W Javie nie ma zaimplementowanej możliwości zaznaczenia czy dane dziedziczenie jest pełne czy nie. Nie ma możliwości takiej implementacji nadklasy aby wymusić określoną liczbę klas dziedziczących, stąd używamy

tych pojęć tylko na etapie projektowania.

class kolorPodstawowy {

}

class red extends kolorPodstawowy{

}

class green extends kolorPodstawowy{

}

class blue extends kolorPodstawowy{

}

class kolor{

}

class red extends kolor {

}

class green extends kolor {

}

class blue extends kolor {

}

Kod napisany dla obu tych przypadków nie będzie się koncepcyjnie od siebie różnił:

Page 4: Dziedziczenie całkowite (complete)

Interfejs (1)

-Interfejs jest to klasa całkowicie abstrakcyjna zawierająca jedynie specyfikacje, nie zawiera implementacji.

-W UML i Javie interfejs nie zawiera atrybutów/pól, a wszystkie metody są publiczne.

Page 5: Dziedziczenie całkowite (complete)

Interfejs (2)

Przykład UML:<interfejs>

Wampir

+ Zabij+ Pij krew

StraszydłoMiejsce

StraszeniaStrasz

KsiążęImięZabij

Pij krew

Realizacja

Page 6: Dziedziczenie całkowite (complete)

Interfejs (3)

Przykład Java:

interface wampir {

void zabij();

void pijKrew();

}

class straszydlo {

String miejsceStraszenia;

void strasz(){}

}

class ksiaze

extends straszydlo implements wampir{

String imie;

void zabij(){}

void pijKrew(){}

}

Page 7: Dziedziczenie całkowite (complete)

Interfejs (4)

Przykład UML(2): <interfejs>Wampir

+ Zabij+ Pij krew

<interfejs>Straszydło

+ Strasz

Książę

StraszZabij

Pij krew

Realizacja

OsobaImie

NazwiskoNazwa zamku

W Javie poprzez interfejsy można zrealizować wielodziedziczenie

Page 8: Dziedziczenie całkowite (complete)

Interfejs (5)

Przykład Java(2):

interface wampir {

void zabij();

void pijKrew();

}

interface straszydlo {

void strasz();

}

class osoba {

String imie;

String nazwisko;

String nazwaZamku;

}

class ksiaze extends osoba

implements wampir, straszydlo {

void strasz(){}

void zabij(){}

void pijKrew(){}

}