Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Projektowanie i programowanie obiektowe II - Wykład II Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski

Podobne prezentacje


Prezentacja na temat: "Projektowanie i programowanie obiektowe II - Wykład II Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski"— Zapis prezentacji:

1 Projektowanie i programowanie obiektowe II - Wykład II Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski

2 Projektowanie systemów informatycznych obiektowo zorientowanych (plan projektu) 1. Identyfikacja zachowań systemu 2. Identyfikacja klas obiektów występujących w systemie 3. Klasyfikacja klas obiektów - pod względem dziedziczenia ( związek uogólniania) - pod względem zawierania się w sobie (powiązanie:agregacja) 4. Określenie powiązań komunikacji i związków użycia między obiektami ze zdefiniowanych klas. 5. Precyzyjna specyfikacja składowych klas (atrybutów i operacji) 6. Składanie modelu logicznego - określenie sekwencji działań obiektów (model funkcjonalny, model dynamiczny, przesyłanie komunikatów) Copyright by Wojciech Tarnawski

3 Ad. 2 Identyfikacja klas obiektów występujących w systemie Szukanie klas, które mogą wystąpić w systemie - utworzenie tzw. słownika pojęć, czyli rzeczowników mających dla nas znaczenie tzn. będą kandydowały na przyszłe klasy. Przy tworzeniu słownika pojęć możemy posłużyć się tzw. listą zachowań systemu: Kto,co ?(rzeczownik)Działanie Kogo? Rezultat Np. Użytkownik Dodaje Elementdopisanie elementu System Uruchamia sięuruchomienie programu, sprawdzenie hasła,...

4 Na tym etapie podajemy wstępnie obowiązki klasy, widoczne własności, współpracowników klasy (tworzeniekart modelujących) ( precyzyjną definicję składowych klasy wykonamy na etapie piątym) np. Klasa Klient jest opisana przez nazwisko, imię itd., może on być obsługiwany, zapisywany, usuwany przez Pracownika UWAGA! Dążymy do tego, aby klas było jak najmniej i aby były jak najbardziej hermetyczne i zakapsułkowane !!! Copyright by Wojciech Tarnawski

5 Ad. 3 Klasyfikacja klas obiektów Tutaj chodzi konkretnie o to, aby zastanowić się, czy klasy nie są ze sobą powiązane [...] w jakieś hierarchie, ewentualnie czy obiekty jednej klasy nie mieszczą w sobie obiektów innej klasy J. Grębosz, Symfonia C++ T. 3 Klasyfikacja klas obiektów: a) pod względem dziedziczenia ( związek uogólniania) b) pod względem zawierania się w sobie (agregacja) Copyright by Wojciech Tarnawski

6 Ad. a) Klasyfikacja klas obiektów pod względem dziedziczenia Dziedziczenie (związek uogólniania, związek hierarchiczny) - to technika pozwalająca na definiowanie nowej klasy przy wykorzystaniu klasy już wcześniej istniejącej (J. Grębosz) Copyright by Wojciech Tarnawski Klasę nadrzędną (znajdującą się wyżej w hierarchii) nazywamy klasą bazową (podstawową, superklasą) Klasę podrzędną nazywamy klasą pochodną Klasa bazowa Klasa pochodna

7 Klasyfikacja obiektów pod względem dziedziczenia to klasyfikacja będąca rezultatem analizy ze względu na: I semantykę problemu II wtórne użycie obiektów Copyright by Wojciech Tarnawski Ad I)...analiza semantyk (z etapu I):..jest szczególnym rodzajem... np. samolot jest środkiem transportu samochód jest środkiem transportu dyrektor jest pracownikiem biura sekretarka jest pracownikiem biura klient jest... pracownikiem biura (nie!)

8 Ad II...ze względu na wtórne użycie obiektów - możliwość późniejszego rozbudowywania systemu, w szczególności należy pamiętać o definicji prawidłowych klas abstrakcyjnych, które mogą być później stosowane. samochód jest pojazdem samolot jest pojazdem (nie!) samochód jest środkiem transportu samolot jest środkiem transportu Copyright by Wojciech Tarnawski

9 Oznaczenie klasy abstrakcyjnej w modelu klas Copyright by Wojciech Tarnawski Klasa bazowa abstrakcyjna Klasa pochodna

10 Przykład z klasą abstrakcyjną Copyright by Wojciech Tarnawski

11 Rodzaje związków dziedziczenia: publiczne publiczne prywatne prywatne chronione chronione Na podstawie: Symfonia C++ - J. Grębosz Copyright by Wojciech Tarnawski Sposób dziedziczenia opisujemy na diagramie po zbudowaniu modelu klas.

12 Dziedziczenie wielokrotne Klasa Trójkąt Klasa Koło Klasa Trójkąt wpisany w Koło Dziedziczenie wielokrotne jest podejściem bardzo elastycznym ale zwiększającym złożoność modelu klas. Copyright by Wojciech Tarnawski

13 Dziedziczenie wirtualne (wirtualne klasy bazowe) ~ Copyright by Wojciech Tarnawski

14 Kuriozum: dziedziczenie wirtualne i niewirtualne Copyright by Wojciech Tarnawski

15 Dziedziczenie wirtualne a zakres klasy bazowej Dziedziczenie wirtualne a zakres klasy bazowej - wystarczy, aby choć jedno dziedziczenie wirtualne było publiczne, a efekt jest taki, jakby wszystkie pozostałe dziedziczenia tej klasy były także publiczne Przykład: 3 dziennikarzy otrzymuje tę samą informację (dziedziczenie wirtualne) ale dwóch zobowiązuje się do milczenia (private) a trzeci ją publikuje (public) - w efekcie informacja ta staje się publiczna. Copyright by Wojciech Tarnawski

16 Polimorfizm - wielość form Pojęcie polimorfizmu jest związane z istnieniem tzw. operacji (funkcji) wirtualnych, których działanie jest zorientowane na obiekty z których są wywoływane ( dotyczy wyłącznie klas powiązanych związkami dziedziczenia) Polimorfizm jest często (ale nie zawsze) wykorzystywany w związkach z klasami abstrakcyjnymi Copyright by Wojciech Tarnawski Klasy zawierające funkcje wirtualne oznaczamy trójkątem w prawym dolnym rogu, a funkcje te podkreślamy... Klasa F. wirtualna


Pobierz ppt "Projektowanie i programowanie obiektowe II - Wykład II Copyright by Wojciech Tarnawski dr inż. Wojciech Tarnawski"

Podobne prezentacje


Reklamy Google