PO w6

background image

Programowanie obiektowe, wykład 1

1

Podstawowe poj cia

Podstawowe poj cia

programowania

programowania

obiektowego

obiektowego

background image

Programowanie obiektowe, wykład 1

2

Obiektowo

Obiektowo

jest cech wynikaj c z naturalnego postrzegania

wiata. Człowiek analizuje otoczenie poprzez jego

relacj wzgl dem otaczaj cych go obiektów.

wiat nie jest obiektem jednorodnym. Składa si

on z wielu innych obiektów pozostaj cych w

pewnych relacjach wzgl dem siebie,

funkcjonuj cych w jego otoczeniu. Obiektami s

na przykład ludzie, pa stwa, nacje, domy, miasta,

zespoły miast. Przykładów takich mo na poda

jeszcze bardzo wiele (zarówno obiektów

widocznych „gołym okiem”, jak i obiektów,

których wyodr bnienie jest mniej oczywiste).

background image

Programowanie obiektowe, wykład 1

3

Obiektowo

Obiektowo

,

,

cd

cd

.

.

obiektowo jest cech , która wynika ze sposobu

widzenia naszego otoczenia. Jest ona podstaw

jednej z metod analizy systemowej o nazwie

analiza obiektowa systemów.

w przypadku systemów informatycznych mówimy

o analizie obiektowej SI, projektowaniu

obiektowym SI i programowaniu obiektowym

(zorientowanym obiektowo).

?

czy potrafisz wskaza kilka obiektów wokół

Ciebie i poda relacje, w jakich s one powi zane

ze sob ?

background image

Programowanie obiektowe, wykład 1

4

Obiektowa rzeczywisto

Obiektowa rzeczywisto

woda

w.słodka

w.słona

destylowana

rzeki

jeziora

oceany

ryby

delfiny

akumulatory

lekarstwa

mo e by

mo e by

mo e by

zasila

zasila

zasila

zasila

yj w nich

yj w nich

yj w nich

yj w nich

napełnia si

mo na u y

do produkcji

Rys.1. Przykłady ró nych zwi zków pomi dzy obiektami.

background image

Programowanie obiektowe, wykład 1

5

Obiektowa rzeczywisto ,

Obiektowa rzeczywisto ,

cd

cd

.

.

Człowiek postrzega rzeczywisto stosuj c

klasyfikacj obiektów wzgl dem ró nych

poj abstrakcyjnych:

Poj cie 1

Poj cie 2

Poj cie 3

Poj cie n

postrzeganie

abstrakcyjne

ob

iek

ty

wi

ata

rz

ec

zy

wi

ste

go

...

Rys.2. Mechanizm obiektowego postrzegania rzeczywisto ci

background image

Programowanie obiektowe, wykład 1

6

Podstawowe terminy

Podstawowe terminy

poj cie

jest wyobra eniem lub oznaczeniem, które

stosujemy dla obiektów w naszej wiadomo ci.

Poj cie b dziemy uto samia z

typem obiektowym

(klas obiektów)

,

obiekt

jest egzemplarzem poj cia,

dziedzina

jest wybranym obszarem zainteresowa ,

który zawiera kolekcj obiektów b d cych

egzemplarzami dziedziny,

specyfikacja dziedziny

jest kolekcj poj

odnosz cych si do wybranego obszaru

zainteresowa .

background image

Programowanie obiektowe, wykład 1

7

wiczenie 1.1:

Na podstawie rysunku 3 wyszczególnij dziedziny,

poj cia i obiekty. Nazwij poszczególne zwi zki.

rodki

transportu

powietrzne

wodne

l dowe

urz dzenia

silnikowe

urz dzenia

zasilane siłami

natury

szybowce

odrzutowce

urz dzenia

tankowce

kajaki

samochody

rowery

Rys.3.

background image

Programowanie obiektowe, wykład 1

8

Instensja

Instensja

i

i

ekstensja

ekstensja

klasy

klasy

obiektów

obiektów

instensja

typu obiektowego (klasy

obiektów, poj cia) jest definicj poj cia.

Jest to pewna koncepcja, idea stosuj ca si

do okre lonej grupy obiektów w naszej

wiadomo ci,

ekstensja

typu obiektowego (klasy

obiektów, poj cia) to zbiór obiektów danej

klasy (poj cia).

background image

Programowanie obiektowe, wykład 1

9

Instensja

Instensja

i

i

ekstensja

ekstensja

klasy,

klasy,

cd

cd

.

.

Klasa

obiektów

Intensja

klasy

Ekstensja

klasy

symbolizuje

rodek

transportu

Co umo liwiaj cego

przemieszczanie si

ludzi i towarów

r. powietrzne,

r. l dowe,

r. wodne

Rys.4. Sposób rozumienia terminu: „klasa obiektów”

background image

Programowanie obiektowe, wykład 1

10

wiczenie 1.2:

Na podstawie rysunków 1 i 3 wyszczególnij klasy

obiektów, ich intensje i ekstensje.

wiczenie 1.3:

Podaj przykłady klas obiektów dla nast puj cych

dziedzin poj ciowych:

• istoty nierozumne,

• istoty rozumne,

• zwierz ta nielataj ce,

• zwierz ta lataj ce.

wiczenie 1.4:

Stosuj c zapis z rysunku 3 przedstaw diagram

obiektów systematyzuj cy klas zwierz ta w taki

sposób, aby wskaza na ptaki lataj ce i nielataj ce

wraz z ich konkretnymi wyst pieniami.

background image

Programowanie obiektowe, wykład 1

11

Klasa obiektów w j zyku

Klasa obiektów w j zyku

programowania

programowania

współczesne j zyki programowania, np.

Pascal, Modula2, C++ czy Java nazywamy

j zykami programowania zorientowanymi

obiektowo (OOP). Oznacza to, e do

rodowiska nieobiektowego wstawiono tzw.

obiektowe rozszerzenie (object extention) i

w ten sposób umo liwiono programowanie

zgodne z podej ciem obiektowym.

background image

Programowanie obiektowe, wykład 1

12

Klasa obiektów w j zyku

Klasa obiektów w j zyku

programowania,

programowania,

cd

cd

.

.

w

j zykach zorientowanych obiektowo

nadrz dn jednostk programow jest

moduł, w którym umieszczana jest

implementacja typów i zmiennych

obiektowych.

w

j zykach obiektowych podstawow

jednostk syntaktyczn i semantyczn

programu jest klasa obiektów.

background image

Programowanie obiektowe, wykład 1

13

Klasa obiektów w j zyku

Klasa obiektów w j zyku

programowania,

programowania,

cd

cd

.

.

klasa w j zyku programowania składa si

ze swoich zmiennych i metod.

zmienne obiektu umo liwiaj

przechowywanie zestawu warto ci

okre laj cych stan obiektu,

metody obiektu s jedynym interfejsem

obiektu z jego otoczeniem. Mówimy wtedy,

e

obiekty s hermetyczne

.

background image

Programowanie obiektowe, wykład 1

14

Mechanizmy

Mechanizmy

obiektowo ci

obiektowo ci

Obiekt jako dana - wykorzystywane tak, jak zmienne w

j zykach programowania,

Obiekt jako abstrakcyjny typ danych - definiowanie nowych

typów obiektowych na bazie dost pnych w j zyku

programowania typów danych wraz z operacjami, które mog

by wykonywane na tych typach,

Ukrywanie informacji - informacja o wewn trznej budowie

obiektu nie jest dost pna poza jego definicj ,

Hermetyzacja - dost p do obiektu wył cznie za po rednictwem

jego metod,

Klasy generyczne - klasy nie posiadaj ce swoich egzemplarzy

(wyst pie ), wykorzystywana do definiowania innych klas (np.

templates w C++),

background image

Programowanie obiektowe, wykład 1

15

Polimorfizm parametryczny - wielopostaciowo obiektów

indukowana u yciem ró nych typów obiektowych wstawianych w

miejsce parametrów formalnych

Polimorfizm inkluzyjny - u ycie obiektów pochodnych,

definiowanych na bazie obiektów zdefiniowanych wcze niej

(agregacje, dziedziczenia obiektów),

Metoda obiektu - operacja zwi zana semantycznie z obiektem,

stanowi ca jego interfejs do otoczenia obiektu,

Polimorfizm metod - wielopostaciowo metod obiektów (zwi zana

z dziedziczeniem obiektów wirtualizacja metod)

Wymiana informacji - przesyłanie komunikatów pomi dzy

obiektami lub powi zanie obiektu z funkcjonowaniem mechanizmu

obsługi zdarze w rodowisku obiektowym,

Kompromis - dwoista natura obiektu - typ-klasa, zmienna-

egzemplarz klasy.

Mechanizmy

Mechanizmy

obiektowo ci

obiektowo ci

,

,

cd

cd

.

.

background image

Programowanie obiektowe, wykład 1

16

Implementacja klas w j zyku programowania

Implementacja klas w j zyku programowania

schemat definiowania klasy obiektów (Modula2):

CLASS Nazwa_klasy;

zmienna1:Typ1;
zmienna2: Typ2;
.......
zmiennaN:TypN;

PROCEDURE Metoda1(params1);
PROCEDURE Metoda2;
.......
PROCEDURE MetodaM(paramsM
):TypM;

END Nazwa_klasy;

VAR obiekt1: Nazwa_klasy; - zmienna typu obiektowego

?

?

Jak j zyk programowania powinien zapewnia własno

Jak j zyk programowania powinien zapewnia własno

hermetyczno ci obiektów ?

hermetyczno ci obiektów ?

background image

Programowanie obiektowe, wykład 1

17

schemat definiowania klasy obiektów (Pascal):

TYPE Nazwa_klasy=object

zmienna1:Typ1;
zmienna2: Typ2;
.......
zmiennaN:TypN;

Procedure Metoda1(params1);
Procedure Metoda2;
.......
Function MetodaM
(paramsM):TypM;
Constructor Init
;
Destructor Done
;

END

;

Var obiekt1: Nazwa_klasy; - zmienna typu obiekt.

Implementacja klas w j zyku programowania,

Implementacja klas w j zyku programowania,

cd

cd

.

.

background image

Programowanie obiektowe, wykład 1

18

schemat definiowania klasy obiektów (C++):

class Nazwa_klasy {

Typ1 zmienna1;
Typ2 zmienna2;
.......
TypN zmiennaN;

void Metoda1(params1);
void
Metoda2(void);
.......
void TypM
MetodaM(paramsM);

Nazwa_klasy(params) {tre konstruktora}
Nazwa_klasy(void) {tre destruktora}

};

Nazwa_klasy obiekt1; - zmienna typu obiektowego

Implementacja klas w j zyku programowania,

Implementacja klas w j zyku programowania,

cd

cd

.

.

background image

Programowanie obiektowe, wykład 1

19

Zwi zki pomi dzy obiektami

Zwi zki pomi dzy obiektami

(odwzorowania)

(odwzorowania)

Poj cie zwi zku (powi zania, skojarzenia

obiektów) jest nieodł cznie zwi zane z

metodami analizy, projektowania i

programowania obiektowego. Naturaln na

przykład sytuacj jest to, e

do wyst pienia

jednej klasy obiektów mo na

przyporz dkowa

jedno b d wiele

wyst pie

innych klas obiektów.

background image

Programowanie obiektowe, wykład 1

20

Zwi zki pomi dzy obiektami,

Zwi zki pomi dzy obiektami,

cd

cd

.

.

spójrzmy zatem na przykład zwi zku pomi dzy

klasami obiektów: Grupa szkoleniowa i Student:

Rys.5. Przykład zwi zku typu: jeden do wielu

Grupa

szkoleniowa

Student

zwi zek

C11

C42

ZC15p

Janek

Ka ka

Kazik

Aga

Marta

Steve

Marek

egzemplarz

zwi zku

...

...

background image

Programowanie obiektowe, wykład 1

21

Zwi zki pomi dzy obiektami,

Zwi zki pomi dzy obiektami,

cd

cd

.

.

poznali my zwi zki typu:

jeden do wielu

,

mamy tak e zwi zki typu:

jeden do

jednego

.

Przykładem takiego zwi zku pomi dzy

obiektami mo e by na przykład: m czyzna mo e

mie w danej chwili co najwy ej jedn jedn on

i jeszcze przykład zwi zku:

wiele do wielu

:

dział w firmie mo e składa si z wielu
pracowników, za pracownik mo e w ci gu
swojego ycia pracowa w wielu działach.

?

Czy potrafisz poda kilka innych przykładów zwi zków

pomi dzy klasami obiektów? Jakie to zwi zki?

background image

Programowanie obiektowe, wykład 1

22

Notacja dla zapisu liczno ci

Notacja dla zapisu liczno ci

zwi zków pomi dzy obiektami

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

background image

Programowanie obiektowe, wykład 1

23

Zwi zki klas obiektów,

Zwi zki klas obiektów,

cd

cd

.

.

istniej specjalizowane systemy przetwarza-

nia danych realizuj ce mechanizmy utrzy-

mywania ró nego rodzaju zwi zków pomi -

dzy obiektami (encjami). Na naszym

wykładzie nie zajmiemy si takimi syste-

mami.

w j zykach programowania zorientowanych

obiektowo

zwi zki

klas

mo na zaimple-

mentowa

wykorzystuj c

dynamiczne

wi zania klas obiektów

, o czym b dzie

mowa w dalszym toku wykładu.

background image

Programowanie obiektowe, wykład 1

24

Do przemy lenia...

Do przemy lenia...

czy potrafisz narysowa zwi zki (notacja

Martina) pomi dzy klasami obiektów z

rysunków 1 i 3 ?
czy klasa mo e wyst powa sama ze sob w

jakim zwi zku ? Przedstaw przykład

takiego zwi zku.
co w praktyce mo e powodowa

hermetyczno obiektów?
który z przedstawionych przykładów

j zyków programowania jest Twoim

zdaniem najbardziej czytelny?


Wyszukiwarka

Podobne podstrony:
PO W6
PO W6
PO W6
W6 Technika harmonogramów i CPM
PO wyk07 v1
w6 Czołowe przekładanie walcowe o zebach srubowych
Rehabilitacja po endoprotezoplastyce stawu biodrowego
Systemy walutowe po II wojnie światowej
HTZ po 65 roku życia
Zaburzenia wodno elektrolitowe po przedawkowaniu alkoholu
Organy po TL 2
Metoda z wyboru usprawniania pacjentów po udarach mózgu
03Operacje bankowe po rednicz ce 1
AM1 W6
Piramida zdrowia po niemiecku

więcej podobnych podstron