• Nie Znaleziono Wyników

Dziedziczenie całkowite (complete)

N/A
N/A
Protected

Academic year: 2021

Share "Dziedziczenie całkowite (complete)"

Copied!
8
0
0

Pełen tekst

(1)

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}

(2)

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.

(3)

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ł:

(4)

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.

(5)

Interfejs (2)

Przykład UML:

<interfejs>

Wampir + Zabij + Pij krew Straszydło

Miejsce Straszenia

Strasz

Książę Imię Zabij Pij krew

Realizacja

(6)

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(){}

}

(7)

Interfejs (4)

Przykład UML(2): <interfejs>

Wampir + Zabij + Pij krew

<interfejs>

Straszydło + Strasz

Książę Strasz

Zabij Pij krew

Realizacja

Osoba Imie Nazwisko

Nazwa zamku

W Javie poprzez interfejsy można zrealizować wielodziedziczenie

(8)

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(){}

}

Cytaty

Powiązane dokumenty

Kiedy król chciał wydać rozkaz, żeby nazajutrz wszyscy stawili się w miejscu spotkań, bo każda wioska ma takie miejsce, plac, to griot szedł z djembe i zaczynał grać..

W czasie dysku- sji stwierdzono, że śmierć mózgu jest prawdziwym kryterium śmierci, bowiem ostateczne ustanie czynności krążenia i oddychania prowadzi bardzo szybko do

Kiedy stosujemy związki strukturalne między klasami typu powiązanie (Association) i agregacja

Z nowo zbadanych sekwencji genomowych dowiedziano się, że neandertalczycy byli nosicielami trzech mutacji w genie SCN9A , który koduje białko Nav1.7, podwyższające wrażliwość

Zespół Pääbo uczestniczył również w analizie szczątków człowieka z ałtajskiej Denisowej Jaskini, w której obok kości neandertalskich odkryto szczątki nowego dla nauki

Nauczyciel czyta akapit tekstu: Zgoła nabożna i święta cichość ogarnęła pola, jakby się rozpoczęło nabożeństwo w tym niezmierzonym kościele. Naród w pokorze

Po wyborze Karola Wojtyły Matka cieszyła się ogromnie, jakby widziała nowy przypływ miłości Bożej do Kościoła, do świata, swojej rodziny*. Ustawiła sobie w radiu

Australijski kangur skacze ogromnymi skokami po plecach (dłonie luźne w nadgarstkach uderzają lekko, wykonują skok i lądują miękko na plecach).Łasica skrada się po łup