background image

Programowanie

Obiektowe

kpt. Andrzej Gaj

Podstawy
Analiza Obiektowa

background image

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]

background image

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]

background image

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.

background image

PO - Podstawy

W czasie prac nad projektem musimy by

przygotowani na ustawiczne zmiany.

Powinni my te  zapewni  wielokrotny u ytek

fragmentów kodu.

background image

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.

background image

PO - Podstawy

Model analizy obiektowej [Yourdon, Coad]

Warstwa tematów,

Warstwa klas-i-obiektów,

Warstwa struktury,

Warstwa atrybutów,

Warstwa usług.

background image

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]

background image

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.

background image

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.

background image

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.

background image

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.

background image

PO - Podstawy

Poj cie klasy

Klasa budowa:

Nazwa,

Atrybuty,

Metody.

background image

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).

background image

PO - Podstawy

Relacje pomi dzy klasami – obiektami:

Dziedziczenia,

Agregacji,

Skojarzenia.

background image

PO - Podstawy

Relacja Dziedziczenia

 Zachodzi pomi dzy klasami.

Oznacza dla klas potomnych uzyskanie wszystkich

cech klas nadrz dnych (rodziców).

background image

PO - Podstawy

Relacja Dziedziczenia

wiat

zwierz t

nadtyp

Ssak

podtyp

nadtyp

Człowiek

Delfin

podtyp

Jednobazowe

background image

PO - Podstawy

Relacja Dziedziczenia

Wielobazowe

Cecha

charakteru Wykształcenie

Firma

Wymagania

na stanowisku

pracy

Dyspozycyjno

background image

PO - Podstawy

Relacja Agregacji

Odzwierciedla powi zanie cało -cz

 pomi dzy

klasami-obiektami.

background image

PO - Podstawy

Relacja Agregacji

Jacht

aglowy

Silnik

Kadłub

agiel

[n]

background image

PO - Podstawy

Relacja Skojarzenia

Odzwierciedla dowolne (ró ne od poprzedni

wymienionych) powi zanie pomi dzy klasami-

obiektami.

background image

PO - Podstawy

Relacja Skojarzenia

Pomieszczenie

Pracownik

Biurko

Przydział

biurek

przypisuje dla

przypisuje do

przypisuje w

[c]

[c]

[c]

background image

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