Programowanie
Obiektowe
kpt. Andrzej Gaj
Podstawy
Analiza Obiektowa
PO - Podstawy
Wg. Encyklopedii Britannica:
„W percepcji wiata ludzie u ywaj stale trzech metod organizacji, które
przenikaj całe ich my lenie:
✦
Ró nicowanie doznania na poszczególne obiekty i ich atrybuty – na
przykład rozró nianie mi dzy drzewem, a jego rozmiarami i relacj
przestrzenn do innych obiektów,
✦
Rozró nienie mi dzy całymi obiektami i ich cz ciami składowymi –
na przykład, kiedy kontrastuje si drzewo z gał ziami, z których si
ono składa,
✦
Tworzenie klas obiektów i rozró nianie ich – na przykład konstrukcja
klasy wszystkich drzew i klasy wszystkich kamieni oraz rozró nienie
mi dzy nimi.”
[Britannica, Teoria klasyfikacji, 1986]
PO - Podstawy
Dziedzina problemu i zakres obowi zków systemu
Dziedzina problemu to rozwa ane pole działania.
np.: zarz dzanie przestrzeni powietrzn , lotnictwo, finanse, ....
System [gr. umie ci razem] zbiór lub uło enie elementów tak
powi zanych, e tworz jedno lub ograniczon cało ; jak na
przykład system słoneczny, system nawadniaj cy, system zasilania.
Odpowiedzialno [gr. Wymaganie odpowiedzi] warunek jako , fakt
lub przykład bycia odpowiedzialnym (w oryginale wi cej synonimów
– responsible, answerable, accountable, liable) co do osoby, urz du
lub długu.
[Webster, 1977]
PO - Podstawy
Dziedzina problemu i zakres obowi zków systemu
Dziedzina problemu to rozwa ane pole działania.
Zakres obowi zków (odpowiedzialno ci) systemu.
To powi zany w cało zbiór rzeczy, za które system
odpowiada.
PO - Podstawy
W czasie prac nad projektem musimy by
przygotowani na ustawiczne zmiany.
Powinni my te zapewni wielokrotny u ytek
fragmentów kodu.
PO - Podstawy
Zasady zarz dzania zło ono ci :
✦
Abstrakcja,
✦
Hermetyzacja,
✦
Dziedziczenie,
✦
Skojarzenie,
✦
Komunikacja za pomoc komunikatów,
✦
Powszechnie wyst puj ce metody organizacji: obiekty i atrybuty,
cało i cz ci, klasy i składowe oraz rozró nianie mi dzy nimi,
✦
Skala,
✦
Kategorie zachowania: bezpo rednia przyczynowo , zmiany w
czasie, podobie stwo funkcji.
PO - Podstawy
Model analizy obiektowej [Yourdon, Coad]
✦
Warstwa tematów,
✦
Warstwa klas-i-obiektów,
✦
Warstwa struktury,
✦
Warstwa atrybutów,
✦
Warstwa usług.
PO - Podstawy
Poj cie klasy
Obiekt – [łac.] osoba lub rzecz, do której odnosi si
czynno , my l lub uczucie. Co , co jest widoczne
lub namacalne; produkt lub substancja.
Klasa – [łac.] zbiorowisko ludzi lub rzeczy
poł czonych podobie stwem lub wspólnymi
cechami.
[Webster,1977]
PO - Podstawy
Poj cie klasy
Klasa (class) Poj cie klasy jest u ywane w trzech
do bliskich znaczeniach:
✦
Zbiór obiektów o zbli onych wła ciwo ciach.
✦
Byt semantyczny rozumiany jako miejsce
przechowywania takich cech grupy podobnych
obiektów, które s dla nich niezmienne (np.. Zestaw
atrybutów, nazwy, metod, ogranicze dost pu).
✦
Wyra enie j zykowe specyfikuj ce budow
obiektów, dozwolone operacje na obiektach,
ograniczenia dost pu, wyj tki, itd.
PO - Podstawy
Poj cie klasy
Obiekty s klasyfikowane zgodnie z podobie stwem pewnych
ich własno ci oraz podobie stwem sposobów ich u ycia.
Niezmienne cechy obiektów (zwane inwariantami lub
niezmiennikami), w szczególno ci zestaw atrybutów (wraz
z typami) oraz operacje, które mo na na nich wykonywa
(metody), s zbierane wewn trz specjalnego bytu
programistycznego nazywanego klas . Typy umo liwiaj
statyczn i dynamiczn kontrol poprawno ci budowy
obiektów, poprawno ci ich u ycia w programach oraz
poprawno ci u ycia operacji przypisanych do obiektów.
Obiektowo zakłada oddzielenie zewn trznej specyfikacji
klasy, zwanej interfejsem, od jej implementacji.
PO - Podstawy
Obiekt - jest abstrakcyjnym bytem reprezentuj cym lub
opisuj cym pewn rzecz lub poj cie obserwowane w
wiecie rzeczywistym. Obiekt jest odró nialny od innych
obiektów, ma nazw i dobrze okre lone granice.
PO - Podstawy
Poj cie klasy
Klasa abstrakcyjna (abstract class) klasa zawieraj ca
własno ci (atrybuty, metody) dziedziczone przez jej
podklasy, ale nie posiadaj ca bezpo rednich
wyst pie obiektów.
PO - Podstawy
Poj cie klasy
Klasa budowa:
✦
Nazwa,
✦
Atrybuty,
✦
Metody.
PO - Podstawy
Relacje pomi dzy klasami – obiektami:
Relacja (łac.) – stosunek, filoz. byt niesamodzielny, wi
cy 2
byty samodzielne, wszelki zwi zek lub zale no (stosunek)
mi dzy dwoma lub wi cej przedmiotami danego rodzaju,
poj ciami, wielko ciami.
Relacja – mat. Podzbiór iloczynu kartezja skiego pewnych
dziedzin (zbiorów).
PO - Podstawy
Relacje pomi dzy klasami – obiektami:
✦
Dziedziczenia,
✦
Agregacji,
✦
Skojarzenia.
PO - Podstawy
Relacja Dziedziczenia
Zachodzi pomi dzy klasami.
Oznacza dla klas potomnych uzyskanie wszystkich
cech klas nadrz dnych (rodziców).
PO - Podstawy
Relacja Dziedziczenia
wiat
zwierz t
nadtyp
Ssak
podtyp
nadtyp
Człowiek
Delfin
podtyp
Jednobazowe
PO - Podstawy
Relacja Dziedziczenia
Wielobazowe
Cecha
charakteru Wykształcenie
Firma
Wymagania
na stanowisku
pracy
Dyspozycyjno
PO - Podstawy
Relacja Agregacji
Odzwierciedla powi zanie cało -cz
pomi dzy
klasami-obiektami.
PO - Podstawy
Relacja Agregacji
Jacht
aglowy
Silnik
Kadłub
agiel
[n]
PO - Podstawy
Relacja Skojarzenia
Odzwierciedla dowolne (ró ne od poprzedni
wymienionych) powi zanie pomi dzy klasami-
obiektami.
PO - Podstawy
Relacja Skojarzenia
Pomieszczenie
Pracownik
Biurko
Przydział
biurek
przypisuje dla
przypisuje do
przypisuje w
[c]
[c]
[c]
Notacja dla zapisu liczno ci
zwi zków pomi dzy obiektami
Czytaj c od
lewej do prawej
A jest zawsze
zwi zane z
jednym B
A jest zawsze
zwi zane z
jednym lub
wieloma B
A jest zawsze
zwi zane z
adnym lub
jednym B
A jest zawsze
zwi zane z
adnym, jed-
nym lub
wieloma B
Martin/Odell
Booch (w. 2.0)
Coad/Yourdon
Rumbaugh
(OMT)
Barker (CASE
Method)
A
B
A
B
A
B
A
B
A
B
1
A
B
1..N
A
B
0..1
A
B
N
A
B
1
A
B
1,m
A
B
0,1
A
B
0,m
A
B
A
B
A
B
1+
A
B
A
B
A
B
A
B
A
B
Tabela 1.1