PO, 01 podstawy

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Podejście obiektowe – wprowadzenie

Bogdan Kreczmer

bogdan.kreczmer@pwr.wroc.pl

Zakład Podstaw Cybernetyki i Robotyki

Instytut Informatyki, Automatyki i Robotyki

Politechnika Wrocławska

Kurs: Programowanie obiektowe

Copyright c

2008 Bogdan Kreczmer

Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on

udostępiony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany
wyłącznie w całości, razem z niniejszą stroną tytułową.

Programowanie obiektowe

Podejście obiektowe – wprowadzenie

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Niniejsza prezentacja została wykonana przy użyciu sys-
temu składu
L

A

TEX oraz stylu beamer, którego autorem

jest Till Tantau.

Strona domowa projektu Beamer:

http://latex-beamer.sourceforge.net

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Moje dane

Bogdan Kreczmer, dr inż., pok. 307 bud C-3

Terminy konsultacji: śr.

11:00 –

13:00

cz. 13:00 –

15:00

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Organizacja zajęć i warunki zaliczeń

Kurs kończy się egzaminem. Do egzaminu można przystąpić pod
warunkiem uzyskania zaliczenia z laboratorium

Istnieje możliwość zwolnienia z egzaminu na podstawie oceny z
laboratorium i wyników ekranówek. Przewidywanych jest od 4 do 6
ekranówek

Warunki zwolnienia:

ocena z laboratorium ­ 4.5
ocena z ekranówek ­ 4.0
sposób liczenia oceny z egzaminu:
Ocena z kursu = 40% oceny laboratorium + 60% oceny z ekranówek
Ocena celująca ekranówki ­ 95%; laboratorium 5,5

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Organizacja zajęć i warunki zaliczeń

Kurs kończy się egzaminem. Do egzaminu można przystąpić pod
warunkiem uzyskania zaliczenia z laboratorium

Istnieje możliwość zwolnienia z egzaminu na podstawie oceny z
laboratorium i wyników ekranówek. Przewidywanych jest od 4 do 6
ekranówek

Warunki zwolnienia:

ocena z laboratorium ­ 4.5
ocena z ekranówek ­ 4.0
sposób liczenia oceny z egzaminu:
Ocena z kursu = 40% oceny laboratorium + 60% oceny z ekranówek
Ocena celująca ekranówki ­ 95%; laboratorium 5,5

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Organizacja zajęć i warunki zaliczeń

Kurs kończy się egzaminem. Do egzaminu można przystąpić pod
warunkiem uzyskania zaliczenia z laboratorium

Istnieje możliwość zwolnienia z egzaminu na podstawie oceny z
laboratorium i wyników ekranówek. Przewidywanych jest od 4 do 6
ekranówek

Warunki zwolnienia:

ocena z laboratorium ­ 4.5
ocena z ekranówek ­ 4.0
sposób liczenia oceny z egzaminu:
Ocena z kursu = 40% oceny laboratorium + 60% oceny z ekranówek
Ocena celująca ekranówki ­ 95%; laboratorium 5,5

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Organizacja zajęć i warunki zaliczeń

Kurs kończy się egzaminem. Do egzaminu można przystąpić pod
warunkiem uzyskania zaliczenia z laboratorium

Istnieje możliwość zwolnienia z egzaminu na podstawie oceny z
laboratorium i wyników ekranówek. Przewidywanych jest od 4 do 6
ekranówek

Warunki zwolnienia:

ocena z laboratorium ­ 4.5

ocena z ekranówek ­ 4.0
sposób liczenia oceny z egzaminu:
Ocena z kursu = 40% oceny laboratorium + 60% oceny z ekranówek
Ocena celująca ekranówki ­ 95%; laboratorium 5,5

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Organizacja zajęć i warunki zaliczeń

Kurs kończy się egzaminem. Do egzaminu można przystąpić pod
warunkiem uzyskania zaliczenia z laboratorium

Istnieje możliwość zwolnienia z egzaminu na podstawie oceny z
laboratorium i wyników ekranówek. Przewidywanych jest od 4 do 6
ekranówek

Warunki zwolnienia:

ocena z laboratorium ­ 4.5

ocena z ekranówek ­ 4.0

sposób liczenia oceny z egzaminu:
Ocena z kursu = 40% oceny laboratorium + 60% oceny z ekranówek
Ocena celująca ekranówki ­ 95%; laboratorium 5,5

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Organizacja zajęć i warunki zaliczeń

Kurs kończy się egzaminem. Do egzaminu można przystąpić pod
warunkiem uzyskania zaliczenia z laboratorium

Istnieje możliwość zwolnienia z egzaminu na podstawie oceny z
laboratorium i wyników ekranówek. Przewidywanych jest od 4 do 6
ekranówek

Warunki zwolnienia:

ocena z laboratorium ­ 4.5
ocena z ekranówek ­ 4.0

sposób liczenia oceny z egzaminu:
Ocena z kursu = 40% oceny laboratorium + 60% oceny z ekranówek

Ocena celująca ekranówki ­ 95%; laboratorium 5,5

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Organizacja zajęć i warunki zaliczeń

Kurs kończy się egzaminem. Do egzaminu można przystąpić pod
warunkiem uzyskania zaliczenia z laboratorium

Istnieje możliwość zwolnienia z egzaminu na podstawie oceny z
laboratorium i wyników ekranówek. Przewidywanych jest od 4 do 6
ekranówek

Warunki zwolnienia:

ocena z laboratorium ­ 4.5
ocena z ekranówek ­ 4.0
sposób liczenia oceny z egzaminu:
Ocena z kursu = 40% oceny laboratorium + 60% oceny z ekranówek

Ocena celująca ekranówki ­ 95%; laboratorium 5,5

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Literatura

Literatura podstawowa:

Bjarne Stroustrup, Język C++, WNT, 2002

J. Grębosz, Symfonia C ++ standard

J. Grębosz, Pasja C ++

J. Kisilewicz, Język C++. Programowanie obiektowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Literatura

Literatura pomocnicza:

B. Eckel, Thinking in C++, HELION, 2002

Nicolai M. Josuttis, C++ Biblioteka standardowa, Podręcznik pro-

gramisty

David Vandevoorde, Nicolai M. Josuttis, C++ szablony

Grady Booch, James Rumbaugh, Ivar Jacobson, UML

przewodnik

użytkownika

James Martin, James J. Odell, Podstawy metod obiektowych

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Literatura

Literatura pomocnicza:

B. Eckel, Thinking in C++, HELION, 2002

Nicolai M. Josuttis, C++ Biblioteka standardowa, Podręcznik pro-

gramisty

David Vandevoorde, Nicolai M. Josuttis, C++ szablony

Grady Booch, James Rumbaugh, Ivar Jacobson, UML

przewodnik

użytkownika

James Martin, James J. Odell, Podstawy metod obiektowych

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Literatura

Literatura pomocnicza:

B. Eckel, Thinking in C++, HELION, 2002

Nicolai M. Josuttis, C++ Biblioteka standardowa, Podręcznik pro-

gramisty

David Vandevoorde, Nicolai M. Josuttis, C++ szablony

Grady Booch, James Rumbaugh, Ivar Jacobson, UML

przewodnik

użytkownika

James Martin, James J. Odell, Podstawy metod obiektowych

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Literatura

Literatura pomocnicza:

B. Eckel, Thinking in C++, HELION, 2002

Nicolai M. Josuttis, C++ Biblioteka standardowa, Podręcznik pro-

gramisty

David Vandevoorde, Nicolai M. Josuttis, C++ szablony

Grady Booch, James Rumbaugh, Ivar Jacobson, UML

przewodnik

użytkownika

James Martin, James J. Odell, Podstawy metod obiektowych

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Literatura

Literatura pomocnicza:

B. Eckel, Thinking in C++, HELION, 2002

Nicolai M. Josuttis, C++ Biblioteka standardowa, Podręcznik pro-

gramisty

David Vandevoorde, Nicolai M. Josuttis, C++ szablony

Grady Booch, James Rumbaugh, Ivar Jacobson, UML

przewodnik

użytkownika

James Martin, James J. Odell, Podstawy metod obiektowych

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

1

Podejście obiektowe

Rozumienie świata
Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

2

Języki modelowania

UML – geneza i przeznaczenie
UML – Diagramy

3

Style programowania

Zestawienie stylów programowania

4

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic
Od C do C++

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Programowanie obiektowe oparte jest na podejściu obiektowym do
analizy problemu oraz syntezy i implementacji jego rozwiązania.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Programowanie obiektowe oparte jest na podejściu obiektowym do
analizy problemu oraz syntezy i implementacji jego rozwiązania.

Podejście obiektowe bazuje na fundamentalnej cesze aktywności
intelektualnej, która pozwala ludziom (i nie tylko) wyróżniać odrębne
obiekty w swoim otoczeniu, przypisywać im własności oraz określać
sposób ich interakcji między sobą i otoczeniem.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Programowanie obiektowe oparte jest na podejściu obiektowym do
analizy problemu oraz syntezy i implementacji jego rozwiązania.

Podejście obiektowe bazuje na fundamentalnej cesze aktywności
intelektualnej, która pozwala ludziom (i nie tylko) wyróżniać odrębne
obiekty w swoim otoczeniu, przypisywać im własności oraz określać
sposób ich interakcji między sobą i otoczeniem.

Wyróżnianie obiektów może być dokonywane na różne sposoby.
Oparte jest ono na obserwacji i wcześniejszej wiedzy.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Obserwując otoczenie jesteśmy w stanie wyodrębnić przedmioty . . .

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Obserwując otoczenie jesteśmy w stanie wyodrębnić przedmioty . . .

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Obserwując otoczenie jesteśmy w stanie wyodrębnić przedmioty i przypisać im
pojęcia.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Obserwując otoczenie jesteśmy w stanie wyodrębnić przedmioty i przypisać im
pojęcia.

Proces ten nazywamy postrzeganiem.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Wyodrębnieniu może podlegać zestaw elementów, jako osobna całość.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Pojęcie odnosi się wówczas do zbioru elementów między którymi zachodzą odpo-
wiednie relacje.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Każdemu z elementów może być osobno wyróżniony poprzez przypisanie mu indy-
widualnego pojęcia.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie
Obiekty
Typy obiektowe, hierarchie typów

Postrzeganie

Znajdując cechy wspólne wszystkich elementów możemy również pojęcie przypo-
rządkować ich zbiorowi.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Istotnym elementem aktu wyróżnienia jakiegoś tworu lub wyobrażenia
abstrakcyjnego jest przypisanie mu pewnego pojęcia.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Istotnym elementem aktu wyróżnienia jakiegoś tworu lub wyobrażenia
abstrakcyjnego jest przypisanie mu pewnego pojęcia.

Pojęcie jest wyobrażeniem lub oznaczeniem, które stosujemy
do rzeczy lub wyobrażeń abstrakcyjnych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Istotnym elementem aktu wyróżnienia jakiegoś tworu lub wyobrażenia
abstrakcyjnego jest przypisanie mu pewnego pojęcia.

Pojęcie jest wyobrażeniem lub oznaczeniem, które stosujemy
do rzeczy lub wyobrażeń abstrakcyjnych.

Przypisywanie pojęć jest możliwe dzięki rozpoznaniu własności wspól-
nych dla reprezentantów zbiorów, do których stosuje się dane pojęcie.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Przyswojenie sobie zbioru pojęć pozwala nadawać znaczenie obiektom
znajdującym się w naszym otoczeniu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Przyswojenie sobie zbioru pojęć pozwala nadawać znaczenie obiektom
znajdującym się w naszym otoczeniu.

Przykłady pojęć:

materialne

niematerialne relacyjne

zdarzenia

inne

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Przyswojenie sobie zbioru pojęć pozwala nadawać znaczenie obiektom
znajdującym się w naszym otoczeniu.

Przykłady pojęć:

materialne

niematerialne relacyjne

zdarzenia

inne

pojazd
budynek
atom

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Przyswojenie sobie zbioru pojęć pozwala nadawać znaczenie obiektom
znajdującym się w naszym otoczeniu.

Przykłady pojęć:

materialne

niematerialne

relacyjne

zdarzenia

inne

pojazd
budynek
atom

czas
poprawność
firma

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Przyswojenie sobie zbioru pojęć pozwala nadawać znaczenie obiektom
znajdującym się w naszym otoczeniu.

Przykłady pojęć:

materialne

niematerialne

relacyjne

zdarzenia

inne

pojazd
budynek
atom

czas
poprawność
firma

posiadanie
przynależność
małżeństwo

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Przyswojenie sobie zbioru pojęć pozwala nadawać znaczenie obiektom
znajdującym się w naszym otoczeniu.

Przykłady pojęć:

materialne

niematerialne relacyjne

zdarzenia

inne

pojazd
budynek
atom

czas
poprawność
firma

posiadanie
przynależność
małżeństwo

spotkanie
zakup
wyjazd

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Przyswojenie sobie zbioru pojęć pozwala nadawać znaczenie obiektom
znajdującym się w naszym otoczeniu.

Przykłady pojęć:

materialne

niematerialne relacyjne

zdarzenia

inne

pojazd
budynek
atom

czas
poprawność
firma

posiadanie
przynależność
małżeństwo

spotkanie
zakup
wyjazd

wzorowy
nietypowy
ikona

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Termin pojęcie zawiera:

intensję – treść pojęcia

ekstensję – zakres pojęcia

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Termin pojęcie zawiera:

intensję – treść pojęcia

ekstensję – zakres pojęcia

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Termin pojęcie zawiera:

intensję – treść pojęcia

ekstensję – zakres pojęcia

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Termin pojęcie zawiera:

intensję – treść pojęcia

ekstensję – zakres pojęcia

Intensja jest pełną definicją pojęcia i testu określającego, czy dane
pojęcie odnosi się do danej rzeczy lub wyobrażenia abstrakcyjnego.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Termin pojęcie zawiera:

intensję – treść pojęcia

ekstensję – zakres pojęcia

Intensja jest pełną definicją pojęcia i testu określającego, czy dane
pojęcie odnosi się do danej rzeczy lub wyobrażenia abstrakcyjnego.

Ekstensja jest zbiorem wszystkich rzeczy i wyobrażeń abstrakcyjnych
do których stosuje się dane pojęcie.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Czym jest pojęcie

Termin pojęcie zawiera:

intensję – treść pojęcia

ekstensję – zakres pojęcia

Intensja jest pełną definicją pojęcia i testu określającego, czy dane
pojęcie odnosi się do danej rzeczy lub wyobrażenia abstrakcyjnego.

Ekstensja jest zbiorem wszystkich rzeczy i wyobrażeń abstrakcyjnych
do których stosuje się dane pojęcie.

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Robot przemysłowy

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Robot przemysłowy

nazwa

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (

nazwa

, intensja, ekstensja)

Robot przemysłowy

nazwa

Robot przemysłowy

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa,

intensja

, ekstensja)

Robot przemysłowy

nazwa

Robot przemysłowy

intensja

ekstensja

Maszyna manipulacyjna sterowana au-

tomatycznie za pomocą sygnałów ge-

nerowanych w programowalnym ukła-

dzie sterowania.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja,

ekstensja

)

Robot przemysłowy

nazwa

Robot przemysłowy

intensja

ekstensja

Maszyna manipulacyjna sterowana au-

tomatycznie za pomocą sygnałów ge-

nerowanych w programowalnym ukła-

dzie sterowania.

iRb-6, IRB1400,
Puma 560, . . .

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Robot przemysłowy

nazwa

Robot przemysłowy

intensja

ekstensja

Maszyna manipulacyjna sterowana au-

tomatycznie za pomocą sygnałów ge-

nerowanych w programowalnym ukła-

dzie sterowania.

iRb-6, IRB1400,
Puma 560, . . .

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

nazwa

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Idealny człowiek

nazwa

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (

nazwa

, intensja, ekstensja)

Idealny człowiek

nazwa

Idealny człowiek

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa,

intensja

, ekstensja)

Idealny człowiek

nazwa

Idealny człowiek

intensja

ekstensja

Uczciwy, rzetelny, . . .

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja,

ekstensja

)

Idealny człowiek

nazwa

Idealny człowiek

intensja

ekstensja

Uczciwy, rzetelny, . . .

×

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Idealny człowiek

nazwa

Idealny człowiek

intensja

ekstensja

Uczciwy, rzetelny, . . .

×

Niektóre pojęcia mogą nie mieć swoich reprezentantów.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

nazwa

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

40S25

nazwa

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (

nazwa

, intensja, ekstensja)

40S25

nazwa

40S25

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa,

intensja

, ekstensja)

40S25

nazwa

40S25

intensja

ekstensja

×

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja,

ekstensja

)

40S25

nazwa

40S25

intensja

ekstensja

×

40S25, 40S25, . . .

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

40S25

nazwa

40S25

intensja

ekstensja

×

40S25, 40S25, . . .

Pojęcie może nie mieć swojej definicji. Przykład układu scalonego, którego

dokumentacja i opis zostają zagubione.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

nazwa

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Klient

nazwa

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (

nazwa

, intensja, ekstensja)

Klient

nazwa

Klient

intensja

ekstensja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa,

intensja

, ekstensja)

Klient

nazwa

Klient

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja,

ekstensja

)

Klient

nazwa

Klient

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Jan Kowalski,

Firma Jana Kowalskiego

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Klient

nazwa

Klient

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Jan Kowalski,

Firma Jana Kowalskiego

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Klient

, Interesant

nazwa

Klient

, Interesant

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Jan Kowalski,

Firma Jana Kowalskiego

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Klient

, Interesant

nazwa

Klient

, Interesant

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Jan Kowalski,

Firma Jana Kowalskiego

Pojęcia mogą mieć synonimy.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Klient

nazwa

Klient

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Jan Kowalski,

Firma Jana Kowalskiego

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Klient

nazwa

Klient

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Aplikacja programowa, która żąda od

innej aplikacji realizacji usług.

Jan Kowalski,

Firma Jana Kowalskiego

xclock, xterm, . . .

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata

Pojęcie

Obiekty
Typy obiektowe, hierarchie typów

Przykłady trójek pojęciowych

Trójka pojęciowa = (nazwa, intensja, ekstensja)

Klient

nazwa

Klient

intensja

ekstensja

Osoba lub organizacja kupująca dobra

lub usługi.

Aplikacja programowa, która żąda od

innej aplikacji realizacji usług.

Jan Kowalski,

Firma Jana Kowalskiego

xclock, xterm, . . .

Pojęcia mogą mieć homonimy.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Obiekt ?! Co to takiego ???

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Obiektem jest to coś, do czego da się zastosować ja-
kieś pojęcie. Tak więc obiekt jest egzemplarzem poję-
cia

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan. Stan obiektu
jest kolekcją atrybutów i związków dotyczących danego
obiektu. Zmiana stanu jest zmianą atrybutu i/lub
związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje. Odwzorowania i relacje mogą
także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan. Stan obiektu
jest kolekcją atrybutów i związków dotyczących danego
obiektu. Zmiana stanu jest zmianą atrybutu i/lub
związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje. Odwzorowania i relacje mogą
także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan. Stan obiektu
jest kolekcją atrybutów i związków dotyczących danego
obiektu. Zmiana stanu jest zmianą atrybutu i/lub
związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje. Odwzorowania i relacje mogą
także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan.

Stan obiektu

jest kolekcją atrybutów i związków dotyczących danego
obiektu. Zmiana stanu jest zmianą atrybutu i/lub
związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje. Odwzorowania i relacje mogą
także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan.

Stan obiektu

jest kolekcją atrybutów i związków dotyczących danego
obiektu.

Zmiana stanu jest zmianą atrybutu i/lub

związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje. Odwzorowania i relacje mogą
także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan. Stan obiektu
jest kolekcją atrybutów i związków dotyczących danego
obiektu.

Zmiana stanu jest zmianą atrybutu i/lub

związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje. Odwzorowania i relacje mogą
także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan. Stan obiektu
jest kolekcją atrybutów i związków dotyczących danego
obiektu. Zmiana stanu jest zmianą atrybutu i/lub
związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje. Odwzorowania i relacje mogą
także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan. Stan obiektu
jest kolekcją atrybutów i związków dotyczących danego
obiektu. Zmiana stanu jest zmianą atrybutu i/lub
związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje.

Odwzorowania i relacje mogą

także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie

Obiekty

Typy obiektowe, hierarchie typów

Obiekty

Własności:

Obiekt może mieć własności, którym przypisywane są
nazwy, np. kulistość.

Obiekt może mieć atrybuty, np. promień kuli.

Obiektowi możemy przyporządkować stan. Stan obiektu
jest kolekcją atrybutów i związków dotyczących danego
obiektu. Zmiana stanu jest zmianą atrybutu i/lub
związków danego obiektu.

Obiekt może mieć pewien ograniczony czas życia.

Obiekt może być powiązany z innymi obiektami poprzez
odwzorowania lub relacje.

Odwzorowania i relacje mogą

także być modelowane jako obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Typ obiektowy

Typ obiektowy

???

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Typ obiektowy

Typ obiektowy jest pojęciem, tzn. jest koncepcją lub
ideą, którą stosujemy do obiektów występujących w
naszej świadomości.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Typ obiektowy

Typ obiektowy jest pojęciem, tzn. jest koncepcją lub
ideą, którą stosujemy do obiektów występujących w
naszej świadomości.

Typ obiektowy jest typem obiektu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Typ obiektowy

Własności:

Typ obiektowy jest też pojęciem.

Do pojedynczego obiektu może stosować się
wiele pojęć (typów obiektowych).

Typy obiektowe mogą tworzyć hierarchię od
bardzo ogólnych pojęć do pojęć szczegółowych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Typ obiektowy

Własności:

Typ obiektowy jest też pojęciem.

Do pojedynczego obiektu może stosować się
wiele pojęć (typów obiektowych).

Typy obiektowe mogą tworzyć hierarchię od
bardzo ogólnych pojęć do pojęć szczegółowych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Typ obiektowy

Własności:

Typ obiektowy jest też pojęciem.

Do pojedynczego obiektu może stosować się
wiele pojęć (typów obiektowych).

Typy obiektowe mogą tworzyć hierarchię od
bardzo ogólnych pojęć do pojęć szczegółowych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Typ obiektowy

Własności:

Typ obiektowy jest też pojęciem.

Do pojedynczego obiektu może stosować się
wiele pojęć (typów obiektowych).

Typy obiektowe mogą tworzyć hierarchię od
bardzo ogólnych pojęć do pojęć szczegółowych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uogólnienia:

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uogólnienia:

Samochód

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uogólnienia:

Samochód

=Pojazd

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uogólnienia:

Samochód =Pojazd

Uogólnienie jest aktem lub wynikiem wyróżnienia ty-
pu obiektowego, który całkowicie zawiera (obejmuje)
inny typ obiektowy.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uszczegółowienia:

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uszczegółowienia:

Pojazd

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uszczegółowienia:

Pojazd

= Quad

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Hierarchie typów obiektowych możemy tworzyć po-
przez uogólnienie lub uszczegółowienie danego typu
obiektowego.

Przykład uszczegółowienia:

Pojazd = Quad

Specjalizowanie jest aktem lub wynikiem wyróżnie-
nia typu obiektowego, który całkowicie zawiera się w
innym typie obiektowym.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów

Typ

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów

Nadtyp

Typ

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów

Nadtyp

Typ

Podtyp

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów

Nadtyp

– definicja jest ogólniejsza niż definicja

innego typu, którego elementy zawarte są
w zbiorze danego typu obiektowego.

Typ

Podtyp

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów

Nadtyp

– definicja jest ogólniejsza niż definicja

innego typu, którego elementy zawarte są
w zbiorze danego typu obiektowego.

Typ

Podtyp

– definicja jest bardziej wyspecjalizowa-

na niż definicja innego typu zawierającego
między innymi również te same obiekty.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów – przykład

Nadtyp

Typ

Podtyp

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów – przykład

Nadtyp

Typ

−→

Samochód

Podtyp

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów – przykład

Nadtyp

−→

Pojazd

Typ

−→

Samochód

Podtyp

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów – przykład

Nadtyp

−→

Pojazd

Typ

−→

Samochód

Podtyp

−→

Kabriolet

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchia typów – przykład (I Lamborghini :-)

Nadtyp

−→

Pojazd

Typ

−→

Samochód

Podtyp

−→

Kabriolet

Lamborghini Gallardo Spider, autor zdcia: Manju

Źródło: http://pl.wikipedia.org/wiki/Grafika:Lamborghini Gallardo.jpg

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Uogólnienie i specjalizowanie pozwalają tworzyć hierarchię
abstrakcji.

Pomagają one lepiej zrozumieć znaczenie danego

typu obiektowego w kontekście hierarchii typów. Tym samym
pomagają lepiej zamodelować rozwiązanie problemu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Uogólnienie i specjalizowanie pozwalają tworzyć hierarchię
abstrakcji.

Pomagają one lepiej zrozumieć znaczenie danego

typu obiektowego w kontekście hierarchii typów.

Tym samym

pomagają lepiej zamodelować rozwiązanie problemu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Uogólnienie i specjalizowanie pozwalają tworzyć hierarchię
abstrakcji. Pomagają one lepiej zrozumieć znaczenie danego
typu obiektowego w kontekście hierarchii typów.

Tym samym

pomagają lepiej zamodelować rozwiązanie problemu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Uogólnienie i specjalizowanie pozwalają tworzyć hierarchię
abstrakcji. Pomagają one lepiej zrozumieć znaczenie danego
typu obiektowego w kontekście hierarchii typów. Tym samym
pomagają lepiej zamodelować rozwiązanie problemu.

Jak w językach programowania wspierane jest tworzenie hierarchii
typów?

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Hierarchie typów obiektowych

Uogólnienie i specjalizowanie pozwalają tworzyć hierarchię
abstrakcji. Pomagają one lepiej zrozumieć znaczenie danego
typu obiektowego w kontekście hierarchii typów. Tym samym
pomagają lepiej zamodelować rozwiązanie problemu.

Do definiowania podtypów w językach programowania wspierają-

cych paradygmat obiektowy wykorzystywane jest dziedziczenie.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Istnieją dwa typy dziedziczenia:

jednobazowe

wielobazowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Istnieją dwa typy dziedziczenia:

jednobazowe

wielobazowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Istnieją dwa typy dziedziczenia:

jednobazowe

wielobazowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Istnieją dwa typy dziedziczenia:

jednobazowe – dany typ dziedziczy bezpośrednio
tylko jeden podtyp,

wielobazowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Istnieją dwa typy dziedziczenia:

jednobazowe – dany typ dziedziczy bezpośrednio
tylko jeden podtyp,

wielobazowe – dany typ może dziedziczyć
bezpośrednio wiele podtypów.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Przykład:

jednobazowe

wielobazowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Przykład:

jednobazowe

Jabłko

wielobazowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Przykład:

jednobazowe

Jabłko =Owoc

wielobazowe

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Przykład:

jednobazowe

Jabłko =Owoc

wielobazowe

Dźwig samobieżny

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Dziedziczenie

Przykład:

jednobazowe

Jabłko =Owoc

wielobazowe

Dźwig samobieżny =Pojazd, Dźwig

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Metody

Cechą charakterystyczną podejścia obiektowego i języków obiek-
towych jest ścisłe powiązanie operacji z danymi, na których są
one wykonywane.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Metody

Cechą charakterystyczną podejścia obiektowego i języków obiek-
towych jest ścisłe powiązanie operacji z danymi, na których są
one wykonywane.

Przejawem tego jest to, że dla każdego typu

obiektowego można zdefiniować metody.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Metody

Cechą charakterystyczną podejścia obiektowego i języków obiek-
towych jest ścisłe powiązanie operacji z danymi, na których są
one wykonywane. Przejawem tego jest to, że dla każdego typu
obiektowego można zdefiniować metody.

Metoda jest specyfikacją sposobu wykonania operacji, tzn. jed-
nostkowego procesu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Metody

Cechą charakterystyczną podejścia obiektowego i języków obiek-
towych jest ścisłe powiązanie operacji z danymi, na których są
one wykonywane. Przejawem tego jest to, że dla każdego typu
obiektowego można zdefiniować metody.

Metoda jest specyfikacją sposobu wykonania operacji, tzn. jed-
nostkowego procesu.

Proces jest uporządkowana sekwencja działań (czasami wykony-
wanych w celu osiągnięcia pewnego rezultatu :-).

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Podsumowanie - najważniejsze terminy

Obiekt

Typ obiektowy

Metoda

Dziedziczenie

Polimorfizm

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Podsumowanie - najważniejsze terminy

Obiekt

Typ obiektowy

Metoda

Dziedziczenie

Polimorfizm

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Podsumowanie - najważniejsze terminy

Obiekt

Typ obiektowy

Metoda

Dziedziczenie

Polimorfizm

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Podsumowanie - najważniejsze terminy

Obiekt

Typ obiektowy

Metoda

Dziedziczenie

Polimorfizm

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Podsumowanie - najważniejsze terminy

Obiekt

Typ obiektowy

Metoda

Dziedziczenie

Polimorfizm

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Podsumowanie - najważniejsze terminy

Obiekt

Typ obiektowy

Metoda

Dziedziczenie

Polimorfizm

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza

Projektowanie

Konstrukcja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza

Projektowanie

Konstrukcja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza

Projektowanie

Konstrukcja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza

Projektowanie

Konstrukcja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza – jest odwzorowaniem rzeczywistego świata na
jego model koncepcyjny

Projektowanie

Konstrukcja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza – jest odwzorowaniem rzeczywistego świata na
jego model koncepcyjny

Projektowanie – jest odwzorowaniem modelu
koncepcyjnego na model implementacji.

Konstrukcja

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza – jest odwzorowaniem rzeczywistego świata na
jego model koncepcyjny

Projektowanie – jest odwzorowaniem modelu
koncepcyjnego na model implementacji.

Konstrukcja – jest odwzorowaniem modelu implementacji
na działający system.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Rozumienie świata
Pojęcie
Obiekty

Typy obiektowe, hierarchie typów

Skąd się biorą typy (ciemne?)

Przejściu od sformułowania problemu do jego rozwiązania w po-
staci działające systemu towarzyszą zwykle trzy fazy:

Analiza – jest odwzorowaniem rzeczywistego świata na
jego model koncepcyjny

Projektowanie – jest odwzorowaniem modelu
koncepcyjnego na model implementacji.

Konstrukcja – jest odwzorowaniem modelu implementacji
na działający system.

Etapy te nie muszą przebiegać sekwencyjnie. Wszystko zależy od
przyjętych technik i strategii rozwiązywania danego problemu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Główni twórcy: Grady Booch, Ivar Jacobson, James Rumbaugh

1994 – zapoczątkowanie prac nad UML

1995 – pierwsza robocza wersja 0.8

1997 – zaakceptowanie wersji 1.1 przez OMG (Object Manag-

ment Group)

1999 – opublikowanie wersji 1.3

2004/2005 – zaakceptowanie wersji 2.0

sierpień 2007 – opublikowanie wersji 2.1.1

Strona projektu: http://www.uml.org

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywania
projektu systemu.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywania
projektu systemu.

Może być stosowany do obrazowania, specy-

fikowania, tworzenia i dokumentowania artefaktów powstałych
podczas procesu budowy systemu informatycznego.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywania
projektu systemu. Może być stosowany do obrazowania, specy-
fikowania, tworzenia i dokumentowania artefaktów powstałych
podczas procesu budowy systemu informatycznego.

UML służy do obrazowania, specyfikowania i dokumentowania
systemów obiektowych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

UML jest językiem znormalizowanym, służącym do zapisywania
projektu systemu. Może być stosowany do obrazowania, specy-
fikowania, tworzenia i dokumentowania artefaktów powstałych
podczas procesu budowy systemu informatycznego.

UML służy do obrazowania, specyfikowania i dokumentowania
systemów obiektowych.

UML jest przede wszystkim przeznaczony do budowy systemów
informatycznych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznych
przedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznych
przedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznych
przedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

UML – Unified Modeling Language

Przykładowe obszary zastosowań:

tworzenie systemów informatycznych
przedsiębiorstw,

usług bankowych i finansowych,

rozproszone usługi internetowe.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Przykłady diagramów

Rysunek:

Diagram klas

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Przykłady diagramów

Rysunek:

Diagram klas modelujący strukturę firmy

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.

Najczęściej używane diagramy:

Przypadków użycia

Sekwencji

Klas

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia

Sekwencji

Klas

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia

Sekwencji

Klas

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia

Sekwencji

Klas

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia

Sekwencji

Klas

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia – służy do obrazowania zachowania
systemu, podsystemu lub klasy w taki sposób, żeby
użytkownicy mogli zrozumieć, jak z tego bytu korzystać, a
programiści mogli go zaimplementować.

Sekwencji

Klas

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia

Sekwencji – służy do obrazowania dynamicznych aspektów
systemu. Demonstruje kolejność komunikatów w czasie,
które przesyłają między sobą obiekty.

Klas

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia

Sekwencji

Klas – służy do obrazowania statycznych aspektów
systemu. Bierze się w nim pod uwagę wymagania
funkcjonalne (usługi), jakie system powinien udostępniać
swoim użytkownikom.

Aktywności

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

UML – geneza i przeznaczenie

UML – Diagramy

Ważniejsze diagramy

W wersji 2.0 wyróżnia się 13 rodzaji diagramów głównych i 4
abstrakcyjne.
Najczęściej używane diagramy:

Przypadków użycia

Sekwencji

Klas

Aktywności – modeluje dynamiczne aspekty systemu.
Demonstrują przepływ sterowania od operacji do operacji.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Nacisk kładzie się na przetwarzanie, tzn. zbudowania algo-
rytmu potrzebnego do wykonania wymaganych obliczeń.

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Uwypukla powiązanie danych z procedurami oraz ukrywa
dane, które wykorzystywane są tylko w pewnych blokach
obliczeniowych reprezentowanych przez moduły.

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Zakłada możliwość definiowania typów, które mają te same
własności jak typy wbudowane.

Programowanie obiektowe

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Tworzenie struktur pochodnych poprzez dziedziczenie z
możliwością modyfikacji dzięki polimorfizmowi. Hermetyza-
cja wybranych struktur.

Programowanie uogólnione

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Zestawienie stylów programowania

Ważniejsze style

Programowanie proceduralne

Programowanie modularne

Programowanie z abstrakcją danych

Programowanie obiektowe

Programowanie uogólnione

Umożliwia tworzenie parametryzowanych struktur i funk-
cji/procedur, dla których parametrami jest typ danych.

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

C++ nie jest nadzbiorem C

Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania.

ANSI C:

const int Zm=23; extern const int Zm=23;

ANSI/ISO C++:

const int Zm=23; static const int Zm=23;

Rozmiary stałych znakowych:

ANSI C:

sizeof (’a’) sizeof (int)

ANSI/ISO C++:

sizeof (’a’) sizeof (char)

Nie zadeklarowane funkcje:

ANSI C:

przyjmowane jest automatycznie int fun(...).

ANSI/ISO C++:

jest to niedopuszczalne.

Deklaracja extern int fun():

ANSI C:

równoważna extern int fun(...).

ANSI/ISO C++:

extern int fun(void).

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

C++ nie jest nadzbiorem C

Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania.

ANSI C:

const int Zm=23; extern const int Zm=23;

ANSI/ISO C++:

const int Zm=23; static const int Zm=23;

Rozmiary stałych znakowych:

ANSI C:

sizeof (’a’) sizeof (int)

ANSI/ISO C++:

sizeof (’a’) sizeof (char)

Nie zadeklarowane funkcje:

ANSI C:

przyjmowane jest automatycznie int fun(...).

ANSI/ISO C++:

jest to niedopuszczalne.

Deklaracja extern int fun():

ANSI C:

równoważna extern int fun(...).

ANSI/ISO C++:

extern int fun(void).

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

C++ nie jest nadzbiorem C

Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania.

ANSI C:

const int Zm=23; extern const int Zm=23;

ANSI/ISO C++:

const int Zm=23; static const int Zm=23;

Rozmiary stałych znakowych:

ANSI C:

sizeof (’a’) sizeof (int)

ANSI/ISO C++:

sizeof (’a’) sizeof (char)

Nie zadeklarowane funkcje:

ANSI C:

przyjmowane jest automatycznie int fun(...).

ANSI/ISO C++:

jest to niedopuszczalne.

Deklaracja extern int fun():

ANSI C:

równoważna extern int fun(...).

ANSI/ISO C++:

extern int fun(void).

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

C++ nie jest nadzbiorem C

Deklaracja stałych. Zachowanie zgodności wymaga jawnego dowiązania.

ANSI C:

const int Zm=23; extern const int Zm=23;

ANSI/ISO C++:

const int Zm=23; static const int Zm=23;

Rozmiary stałych znakowych:

ANSI C:

sizeof (’a’) sizeof (int)

ANSI/ISO C++:

sizeof (’a’) sizeof (char)

Nie zadeklarowane funkcje:

ANSI C:

przyjmowane jest automatycznie int fun(...).

ANSI/ISO C++:

jest to niedopuszczalne.

Deklaracja extern int fun():

ANSI C:

równoważna extern int fun(...).

ANSI/ISO C++:

extern int fun(void).

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

Programowanie w C – prosty przykład

#include<stdio.h>

typedef struct LZespolona { /. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /

double

re, im;

} LiczbaZespolona; /. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . /

LiczbaZespolona

Dodaj( LiczbaZespolona

Z1, LiczbaZespolona

Z2)

{

Z2.re += Z1.re;

Z2.im += Z1.im;

return Z2;

}

int main()

{

struct LZespolona

A, B;

A.im = 1;

A.re = 2;

B = A;

A = Dodaj(A,B);
printf(”%g %gi\n”,A.re,A.im);
return 0;

}

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

Rozszerzenie struktur do klas w C++

#include<iostream>

struct LiczbaZespolona { // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

double

re, im;

LiczbaZespolona Dodaj( LiczbaZespolona Z );

}; // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LiczbaZespolona LiczbaZespolona::Dodaj( LiczbaZespolona Z )

{

Z.re += re;

Z.im += im;

return Z;

}

int main()

{

LiczbaZespolona

A, B;

A.im = 1;

A.re = 2;

B = A;

A = A.Dodaj(B)

;

std::cout << A.re << ” ” << A.im << std::endl;

}

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

Rozszerzenie struktur do klas w C++

#include<iostream>
using namespace std;

struct LiczbaZespolona { // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

double

re, im;

LiczbaZespolona Dodaj( LiczbaZespolona Z );

}; // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LiczbaZespolona LiczbaZespolona::Dodaj( LiczbaZespolona Z )

{

Z.re += re;

Z.im += im;

return Z;

}

int main()

{

LiczbaZespolona

A, B;

A.im = 1;

A.re = 2;

B = A;

A = A.Dodaj(B)

;

cout << A.re << ” ” << A.im << endl;

}

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

Rozszerzenie struktur do klas w C++ z operatorami

#include<iostream>
using namespace std;

struct LiczbaZespolona { // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

double

re, im;

LiczbaZespolona operator + ( LiczbaZespolona Z );

}; // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LiczbaZespolona LiczbaZespolona::operator + ( LiczbaZespolona Z )

{

Z.re += re;

Z.im += im;

return Z;

}

int main()

{

LiczbaZespolona

A, B;

A.im = 1;

A.re = 2;

B = A;

A = A + B

;

cout << A.re << ” ” << A.im << endl;

}

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

Kilka przykładowych różnic

Od C do C++

Jawne wywołanie operatora

#include<iostream>
using namespace std;

struct LiczbaZespolona { // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

double

re, im;

LiczbaZespolona operator + ( LiczbaZespolona Z );

}; // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

LiczbaZespolona LiczbaZespolona::operator + ( LiczbaZespolona Z )

{

Z.re += re;

Z.im += im;

return Z;

}

int main()

{

LiczbaZespolona

A, B;

A.im = 1;

A.re = 2;

B = A;

A = A.operator+(B)

;

cout << A.re << ” ” << A.im << endl;

}

Programowanie obiektowe

background image

Podejście obiektowe

Języki modelowania

Style programowania

Język C i C++ – najistotniejsze różnice

To już koniec :(.

Programowanie obiektowe

Podejście obiektowe – wprowadzenie


Document Outline


Wyszukiwarka

Podobne podstrony:
01 Podstawy i technika
CMS Lab 01 Podstawy Joomla
13 14 Przewodnik po programie podstaw dydaktykiid 14580
Matematyka dyskretna 2004 01 Podstawowe pojęcia, oznaczenia
01 Podstawy Logix
NCS Krok po kroku podstawy kodowania
01 Podstawy modelowania
graf3d 01 podstawy
CMS Lab 01 Podstawy Joomla
01 Podstawowe czynności laboratoryjne instrukcja
01 Podstawowe informacje o pamięciach półprzewodnikowychid 2695 ppt
Folie 01 Podstawowe pojęcia 2
GI W 01 podstawowe figury i aksonometria
01 podstawowe pojecia
Wykład 01 Podstawowe pojęcia 2010
Egzamin po szkole podstawowej i gimnazjum-metodyka, Metodyka
materiay na egzamin ustny - prowadzenie zajec, 01.Podstawowe definicje drogowe

więcej podobnych podstron