• Nie Znaleziono Wyników

Wstęp do programowania obiektowego

N/A
N/A
Protected

Academic year: 2021

Share "Wstęp do programowania obiektowego"

Copied!
24
0
0

Pełen tekst

(1)

Wstęp do programowania obiektowego

Wykład 11

1

(2)

Pierwszy język obiektowy –

Simula 67 i jego zastosowanie

2

(3)

Analiza obiektowa

Analiza obiektowa (ang. object-oriented analisys) zajmuje się badaniem i klasyfikacją obiektów pojęciowych.

Obiekty pojęciowe reprezentują pojęcia i koncepcje ze świata rzeczywistego, a dokładniej z dziedziny, która jest analizowana.

Np. w wypadku systemu informacyjnego dla Zakładu Transportu Miejskiego obiektami pojęciowymi

mogłyby być: Autobus, Linia i Kierowca.

3

(4)

Projektowanie obiektowe

Projektowanie to wymyślanie koncepcyjnego rozwiązania (programistycznego i sprzętowego), które realizuje

wymagania, np. opis schematu bazy danych lub klas programowych.

Podczas projektowania zazwyczaj pomija się niskopoziomowe lub oczywiste (dla zamierzonych odbiorców projektu)

szczegóły i koncentruje się na wysokopoziomowych pomysłach oraz ideach.

Projektowanie obiektów programowych określane jest jako projektowanie obiektowe (ang. object-oriented design).

wyznaczenie odpowiedzialności obiektom programowym

określenie, jak mają współpracować, by wykonać zadanie

4

(5)

Model dziedziny

Model dziedziny ma odzwierciedlać pojęcia z

modelowanej części świata rzeczywistego oraz ich zależności (bez metod klas)

W modelu dziedziny pokazuje się:

klasy pojęciowe,

powiązania między klasami pojęciowymi i

atrybuty klas pojęciowych.

5

(6)

Przykład częściowego modelu dziedziny

6

(7)

Odnajdywanie klas pojęciowych

Przy znajdywaniu klas pojęciowych (ang.

conceptual class):

należy używać istniejących nazw, (np. w liceum, jego użytkownikami będą uczniowie, na uczelni wyższej studenci)

nie zajmować się niczym, co nie dotyczy modelowanej części rzeczywistości;

nie dodawać rzeczy, których fizycznie nie ma.

7

(8)

Analiza fraz rzeczownikowych

Wygodnym pomysłem na odnajdywanie klas pojęciowych jest analiza fraz

rzeczownikowych w tekstowym opisie dziedziny lub wymagań (jeżeli takimi dysponujemy).

8

(9)

Klasy pojęciowe dla gry w Monopol

9

(10)

Model dziedziny (niekompletny): klasy

pojęciowe oraz powiązania dla gry w Monopol

10

(11)

Model dziedziny (uzupełniony): klasy, atrybuty klas oraz powiązania

11

(12)

Przykłady obiektów klasy „gracz”

12

(13)

Kiedy w przypadku gry w Monopol

rozpoznamy frazy rzeczownikowe w instrukcji z zasadami gry, okaże się na

przykład, że nie uwzględniliśmy banku oraz kart szansy/ryzyka.

13

(14)

Model dziedziny (finalny)

14

(15)

Przykładowy model dziedziny dla firmy handlowej

15

(16)

16

(17)

Model (klasa) kostki do gry

17

(18)

18

(19)

Hierarchia klas

19

(20)

20

(21)

Schemat klasy pole

21

(22)

Diagram przebiegu – opisuje interakcje między klasami

22

(23)

Spójność klasy

23

(24)

Przejście od diagramu klasy do kodu

24

Cytaty

Powiązane dokumenty

patrzymy w prawo: jeśli jest tam nawias otwierający okrągły '(', to będzie to funkcja (odczytujemy liczbę i typ parametrów); jeśli będzie tam nawias otwierający kwadratowy '[',

 Przeszukiwany jest stos wywołań funkcji w poszukiwaniu takiej, która zawiera obsługę wyjątku danego typu (czyli odpowiednią instrukcję catch).. ◦ Jeżeli

• Parametrami szablonów mogą być również szablony klas, jako tak zwane szablony parametrów szablonów.. Stack<int, std::vector>

 OutputIterator set_union (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator result);.  OutputIterator

 Jednostka programu, która zadeklarowała instancję klasy (obiekt), ma dostęp do publicznych bytów tej klasy, ale tylko poprzez tę instancję.  Każda instancja klasy ma

 Symbole pojawiające się wyłącznie po prawej stronie to symbole terminalne.  Generalnie symbole terminalne to symbole z alfabetu definiowanego języka,

- Wynikiem działania tej metody będzie obiekt (referencja do obiektu) klasy Punkt będący kopią obiektu A, czyli zawierający w polach x i y takie same wartości, jakie są zapisane

– osoba, która poprawia zaliczenie (końcowe lub cząstkowe), może uzyskać co najwyżej ocenę bardzo dobrą.