referat 1 grupa 620

background image

Referat nr 1

Referat nr 1

Mapowanie różnych

Mapowanie różnych

typów dziedziczenia

typów dziedziczenia

z UML do Javy

z UML do Javy

przygotowali:

przygotowali:

Jarek i Piotr

Jarek i Piotr

background image

iloczyn kartezjanski

iloczyn kartezjanski

gdy specyficzne właściwości

gdy specyficzne właściwości

-

z kolei traci sens jak duzo klas

z kolei traci sens jak duzo klas

Wieloaspektowe:

Wieloaspektowe:

agregacja lub il. kart.

agregacja lub il. kart.

agregacja: duzo podobietkow danego

agregacja: duzo podobietkow danego

obiektu, mozemy je pogubic

obiektu, mozemy je pogubic

iloczyn kart.: duzzzo klas;-) za duzo

iloczyn kart.: duzzzo klas;-) za duzo

wariant mieszany: bardziej nas

wariant mieszany: bardziej nas

interesuje dziedziczeniem a to co

interesuje dziedziczeniem a to co

mniej agregacja

mniej agregacja

Dynamiczne:

Dynamiczne:

przepisywanie wszystkie informacje do

przepisywanie wszystkie informacje do

jednego obiektu lub

jednego obiektu lub

kompozycja.agregacja -> ma to

kompozycja.agregacja -> ma to

zalete taka, ze tozsamosc obiektow

zalete taka, ze tozsamosc obiektow

nie zmienia się, odwolania do tego

nie zmienia się, odwolania do tego

obiektu dzialaja, przy przepisywaniu

obiektu dzialaja, przy przepisywaniu

referencje bum! ;-)

referencje bum! ;-)

Kompozycja: buuuu z metodami,

Kompozycja: buuuu z metodami,

kiepsko to wyglada…

kiepsko to wyglada…

background image

1. Część teoretyczna – prezentacja

1. Część teoretyczna – prezentacja

Mapowanie różnych typów

Mapowanie różnych typów

dziedziczenia z UML do Javy:

dziedziczenia z UML do Javy:

Disjoint

Disjoint

Overlapping

Overlapping

Complete

Complete

Incomplete

Incomplete

Multi-Inheritance

Multi-Inheritance

Multi-Aspect

Multi-Aspect

Dynamic

Dynamic

background image

Dziedziczenie

Dziedziczenie

W programowaniu obiektowym to

W programowaniu obiektowym to

możliwość rozszerzania (ang.

możliwość rozszerzania (ang.

Extend

Extend

)

)

istniejących klas, czyli w terminologii UML

istniejących klas, czyli w terminologii UML

– definiowania podklas.

– definiowania podklas.

Możemy wykorzystać kod już istniejących

Możemy wykorzystać kod już istniejących

klas

klas

(nie musimy wnikać w bezpośrednią ich

(nie musimy wnikać w bezpośrednią ich

implementację), przy konstruowaniu

implementację), przy konstruowaniu

nowych podklas.

nowych podklas.

Zdefiniowana nowa, rozszerzona klasa

Zdefiniowana nowa, rozszerzona klasa

(

(

podklasa

podklasa

), dziedziczy wszystkie atrybuty i

), dziedziczy wszystkie atrybuty i

metody klasy, którą rozszerza (po tzw.

metody klasy, którą rozszerza (po tzw.

nadklasie

nadklasie

– klasie, na której została oparta

– klasie, na której została oparta

jej definicja).

jej definicja).

background image

Przykład w UML

Przykład w UML

Student :

name
born

Age

Person:

nr_index

nadklasa

podklasa

czyli, zakładając, że

wszystkie atrybuty i metody
nadklasy były publiczne

Monika
1980
s2033

24

:Student

background image

Disjont – podział rozłączny

Disjont – podział rozłączny

/przykład

/przykład

VS/

VS/

mamy z nim do czynienia, kiedy przecięcię

mamy z nim do czynienia, kiedy przecięcię

zbiorów obiektów podklas jest zbiorem pustym

zbiorów obiektów podklas jest zbiorem pustym

Sposoby obejścia dziedziczenia

Sposoby obejścia dziedziczenia

Braki specyficznych rodzajów dziedziczenia

Braki specyficznych rodzajów dziedziczenia

można obejść wprowadzając dodatkowe:

można obejść wprowadzając dodatkowe:

kompozycje

kompozycje

asocjacje

asocjacje

agregacje

agregacje

Każdy z tych związków reprezentuje się za pomocą

Każdy z tych związków reprezentuje się za pomocą

atrybutów w klasach.

atrybutów w klasach.

background image

Overlapping

Overlapping

Overlapping – przecięcie zbiorów podklas

Overlapping – przecięcie zbiorów podklas

nie jest zbiorem pustym

nie jest zbiorem pustym

Pojazd

Pojazd

lądowy

Pojazd

wodny

{ overlapping
}

background image

Overlapping

Overlapping

/przykład VS/

/przykład VS/

Obejście poprzez wprowadzenie dodatkowej

Obejście poprzez wprowadzenie dodatkowej

klasy zawierającej sumę atrybutów innych

klasy zawierającej sumę atrybutów innych

podklas.

podklas.

Pojazd

Pojazd

lądowy

Pojazd

wodny

{disjoint,
complete}

Pojazd

wodno -

lądowy

background image

Overlapping -wady

Overlapping -wady

Obejście poprzez wprowadzenie dodatkowej

Obejście poprzez wprowadzenie dodatkowej

klasy zawierającej sumę atrybutów innych

klasy zawierającej sumę atrybutów innych

podklas.

podklas.

Wady rozwiązania

Wady rozwiązania

:

:

dodawanie nowej klasy – pociąga za sobą tworzenie

dodawanie nowej klasy – pociąga za sobą tworzenie

dużej ilości klas łączących poszczególne kategorie

dużej ilości klas łączących poszczególne kategorie

szybkie rozrastanie się hierarchii klas

szybkie rozrastanie się hierarchii klas

background image

Complete – dziedziczenie

Complete – dziedziczenie

całkowite

całkowite

Dziedziczeniem całkowitym nazywamy sytuację kiedy

Dziedziczeniem całkowitym nazywamy sytuację kiedy

zbiór podklas wyczerpuje wszystkie mozliwości z

zbiór podklas wyczerpuje wszystkie mozliwości z

rozważanego problemu, lub kiedy projektant zablokuje

rozważanego problemu, lub kiedy projektant zablokuje

możliwość rozszerzania zbioru o nowe klasy.

możliwość rozszerzania zbioru o nowe klasy.

KolorRGB

Czerony (Red)

Niebieski (Blue) Zielony (Green)

{complete}

{abstract}

background image

Incomplete – dziedziczenie

Incomplete – dziedziczenie

niecałkowite

niecałkowite

Dziedziczeniem niecałkowitym nazywamy sytuację

Dziedziczeniem niecałkowitym nazywamy sytuację

kiedy zbiór podklas nie wyczerpuje wszystkich

kiedy zbiór podklas nie wyczerpuje wszystkich

możliwości z rozważanego problemu, kiedy projektant

możliwości z rozważanego problemu, kiedy projektant

daje możliwość rozszerzania zbioru o nowe klasy, lub

daje możliwość rozszerzania zbioru o nowe klasy, lub

też po prostu inne niektóre klasy np.: nieistotne dla

też po prostu inne niektóre klasy np.: nieistotne dla

rozważanego problemu zostały pominięte.

rozważanego problemu zostały pominięte.

Kolor

Czerony (Red)

Niebieski (Blue) Zielony (Green)

{incomplete}

{abstract}

background image

Dziedziczenie in / complete C#

Dziedziczenie in / complete C#

W C# nie ma zaimplementowanej

W C# nie ma zaimplementowanej

możliwości zaznaczenia czy dane

możliwości zaznaczenia czy dane

dziedziczenie jest pełne czy nie.

dziedziczenie jest pełne czy nie.

Nie ma możliwości takiej implementacji

Nie ma możliwości takiej implementacji

nadklasy aby wymusić określoną liczbę

nadklasy aby wymusić określoną liczbę

klas dziedziczących, stąd używamy tych

klas dziedziczących, stąd używamy tych

pojęć tylko na etapie projektowania.

pojęć tylko na etapie projektowania.

background image

Multi-Inheritance – wielokrotne

Multi-Inheritance – wielokrotne

mamy z nim do czynienia gdy klasa dziedziczy

mamy z nim do czynienia gdy klasa dziedziczy

po wielu klasach

po wielu klasach

UML:

POJAZD

Pojazd
Lądowy

Pojaz
Wodny

Amfibia

background image

Multi-Inheritance – wielokrotne

Multi-Inheritance – wielokrotne

jego brak zastepujemy

jego brak zastepujemy

kompozycją

kompozycją

POJAZ
D

Nazwa pojazdu

WŁAŚCIWOŚC
I

POJAZDU

LĄDOWEGO

WŁAŚCIWOŚC
I

POJAZDU

WODNEGO

0..1

0..
1

background image

Multi-Inheritance – wielokrotne

Multi-Inheritance – wielokrotne

jego wady

jego wady

POJAZ
D

POJAZD
LĄDOWY

POJAZD
WODNY

POJAZD

POWIETRZN
Y

Problemy pojawiają się gdy do istniejącej hierarchii klas dodajemy

Problemy pojawiają się gdy do istniejącej hierarchii klas dodajemy

nową.

nową.

background image

Multi-Aspect -dziedziczenie

Multi-Aspect -dziedziczenie

wieloaspektowe

wieloaspektowe

Dziedziczenie ze względu na rodzaj atrybutów.

Pojazd

{overlapping}

Pojazd

wiatrowy

Pojazd

silnikowy

Pojazd

lądowy

Pojazd

wodny

napęd

teren

teren

{overlapping}

Taka struktura da się zrealizować bez jakichkolwiek
przekształceń z punktu widzenia składni języka.

Wada: brak powiązania informacji

background image

Multi-Aspect -dziedziczenie

Multi-Aspect -dziedziczenie

wieloaspektowe

wieloaspektowe

Schemat zastępczy:

POJAZD

WŁ.

NAPĘDU

WŁ.

TERENU

1..
*

1..
*

SILNI
K

ŻAGIE
L

{ abstract
}

{ abstract
}

LĄD

WODA

background image

Dynamic - dziedziczenie dynamiczne

Dynamic - dziedziczenie dynamiczne

Osoba

Manager

Inżynier

Sprzedawca

«

dynamic

»

zawód

Osoba może zmieniać zawód,

Osoba może zmieniać zawód,

co może być modelowane poprzez

co może być modelowane poprzez

tzw. dziedziczenie dynamiczne.

tzw. dziedziczenie dynamiczne.

background image

przykładowe zadania

przykładowe zadania

zadanie 1.
Firma "X" zajmuje sie wynajmem samochodow.
Potrzebuje system przechowujacy dane o samochodach do

wypozyczenia

(marka, model, silnik, cena wynajmu) jak i o samochodach

sluzbowych pracownikow (marka, model, silnik, data zakupu).

Samochod do wynajmu nie moze być: samochodem sluzbowym i

odwrotnie

odpowiedź

zadanie 2.
Duza firma zajmujaca sie dystrybucja produktow na rynku
krajowym potrzebuje
system przechowujacy system o pracownikach:
- magazynier (imie, nazwisko, adres zamieszkania, data
urodzenia, data zatrudnienia)
- handlowiec (imie, nazwisko, adres zamieszkania, data
urodzenia, znane jezyki obce, data zatrudnienia)
- menadzer (imie, nazwisko, adres zamieszkania, data
urodzenia, kwalfikacje zawodowe, data zatrudnienia)
Kazda osoba moze byc w danej chwili zatrudniona tylko na
jednym stanowisku.
System musi umozliwiac awans jak i degradacje pracownikiow.

odpowiedź

background image

zadania sprawdzające nasza

zadania sprawdzające nasza

skuteczność;-)

skuteczność;-)

zadanie 3.

Wypożyczalnia kaset video potrzebuje system przechowujacy dane
o pracownikach (imie, nazwisko, data zatrudnienia, adres,

stanowisko)

i o klientach (imie, nazwisko, adres, data dodania do bazy,

przyslugujacy rabat).

Kazdy z pracownikow moze byc rowniez klientem wypozyczalni i

wypozyczac kasety.

zadanie 4.

Uczelnia to zbiór osób, mniej lub bardziej
zrównoważonych. Wsród nich jest studentka Marysia.
Do wtorku była tylko albo aż studentką PJWSTK, w
środę dołączyła do grona pracowników zatrudnionych
na uczelni, którzy dziela się na naukowych i
administracyjnych
. Gdy spotkałem ją w czwartek była
studentka i pracownikiem administracyjnym naszej
uczelni.

odpowiedź

background image

rozwiazanie zad.1 przykładowego

Disjoint

Disjoint

mamy z nim do czynienia,

mamy z nim do czynienia,

kiedy przecięcię zbiorów

kiedy przecięcię zbiorów

obiektów podklas jest

obiektów podklas jest

zbiorem pustym

zbiorem pustym

background image

rozwiazanie zad.2 przykładowego

Dynamiczne

Dynamiczne

Osoba

Manager

Inżynier

Sprzedawca

«

dynamic

»

zawód

background image

rozwiazanie zadań testowych:

rozwiazanie zad. 3

rozwiazanie zad. 3

Overlapping – przecięcie zbiorów

Overlapping – przecięcie zbiorów

podklas nie jest zbiorem pustym

podklas nie jest zbiorem pustym

rozwiazanie zad. 4

rozwiazanie zad. 4

dziedziczenie wielokrotne – obiekt

dziedziczenie wielokrotne – obiekt

Marysia klasy pracujący student

Marysia klasy pracujący student

dziedziczy po klasie student i po

dziedziczy po klasie student i po

klasie pracownik uczelni.

klasie pracownik uczelni.

background image

dziękujemy za uwagę…

dziękujemy za uwagę…


Document Outline


Wyszukiwarka

Podobne podstrony:
Prasa Niemiecka referat (grupa środowa), DIKS, ZSM
REFERATY GRUPA 1 i 2
REFERATY GRUPA 3 i 4
grupa 13, wstęp do referatu !
Referat Inżynieria Produkcji Rolniczej
test poprawkowy grupa 1
19 183 Samobójstwo Grupa EE1 Pedagogikaid 18250 ppt
Grupa 171, Podstawy zarządzania
Grupa XVI
hatala,januszyk grupa 2a prez 1
referat solidy
pilot a grupa
referat 4

więcej podobnych podstron