2 Odizolowanie danych od kodu może prowadzić do przypadkowych zmian danych przez funkcje, które nie są z nimi logicznie związane. Ponadto modyfikacja.

Slides:



Advertisements
Podobne prezentacje
Projektowanie Aplikacji Komputerowych
Advertisements

Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe
Projektowanie systemów informacyjnych
Sposoby obejścia dziedziczenia
Implementacja ekstensji klasy
Projektowanie systemów informacyjnych
© K.Subieta. Obiektowe języki zapytań 03, Folia 1 marzec 2004 Obiektowe języki zapytań Wykładowca: Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik.
25/08/ Języki programowania 1 Piotr Górczyński Obiekty i zdarzenia.
Projektowanie systemów informacyjnych
Podejście stosowe do obiektowych języków programowania baz danych
Szkolenie dla NaviExpert, Wprowadzenie.
Marcin Kujawa Michał Łobarzewski
Dziedziczenie i jego rodzaje
Inteligentne Systemy Informacyjne
Zasady zaliczenia Warunki uzyskania zaliczenia:
Wykład 8 Wojciech Pieprzyca
DIAGRAMY KLAS i obiektów
E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 8, Slajd 1 Projektowanie systemów informacyjnych Ewa Stemposz, Kazimierz Subieta.
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład I
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Projektowanie obiektowe
Systemy plików ( ISAM i VSAM ) systemy hierarchicznych baz danych ( ISM, System 2000 ) systemy baz danych CODASYL ( m.in. IDS, IDMS ) relacyjne bazy danych.
Wykład 4 Analiza i projektowanie obiektowe
Podstawy programowania II
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Źródła: podręcznikopracował: A. Jędryczkowski.
Programowanie strukturalne i obiektowe
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Języki i środowiska programowania systemów rozproszonych, Wykład 04, Slajd Języki i środowiska programowania systemów rozproszonych Wykładowca:
WPROWADZENIE W ŚWIAT OBIEKTÓW
Programowanie obiektowe
Języki i środowiska programowania systemów rozproszonych, Wykład 03, Slajd Języki i środowiska programowania systemów rozproszonych Wykładowca:
Wybrane zagadnienia relacyjnych baz danych
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
PWSZ Gniezno // codefly 2009
Programowanie w języku C++
Projektowanie stron WWW
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Modelowanie obiektowe - system zarządzania projektami.
E. Stemposz, Analiza i Projektowanie Systemów Informatycznych, Wykład 8, Slajd 1 Projektowanie systemów informacyjnych Ewa Stemposz, Kazimierz Subieta.
Programowanie obiektowe
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Geneza obiektowości Obiektowość jest stosunkowo nową ideologią, która wynika z zaobserwowanych wad istniejącego świata i podaje jakąś receptę, jak te wady.
Programowanie Zaawansowane
Modelowanie model związków encji
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Wstęp do systemów informatycznych Diagramy klas. Odbiór świata  Myślenie o dziedzinie problemu powinno być możliwie zbliżone do myślenia o systemie 
E. Stemposz. UML i Analiza Obiektowa, Wykład 4, Slajd 1/20 Wykład 4 Model obiektowy (2) dr inż. Ewa Stemposz
E. Stemposz. UML i Analiza Obiektowa, Wykład 3, Slajd 1/18 Wykład 3 Model obiektowy (1) dr inż. Ewa Stemposz
Asocjacja,Kompozycja,Agregacja
InMoST: Innowacyjne metody wytwarzania oprogramowania – II edycja (c) Bartosz Walter Wprowadzenie do obiektowości (1) Plan szkolenia – Część.
Temat: Tworzenie bazy danych
Projektowanie systemów informacyjnych
Inżynieria systemów informacyjnych
Programowanie Obiektowe – Wykład 6
Projektowanie systemów informacyjnych
Programowanie Obiektowe – Wykład 2
Wprowadzenie do programowania obiektowego
PGO - Projektowanie i implementacja pierwszych klas
PGO Dziedziczenie Michail Mokkas.
Zapis prezentacji:

2 Odizolowanie danych od kodu może prowadzić do przypadkowych zmian danych przez funkcje, które nie są z nimi logicznie związane. Ponadto modyfikacja programu napisanego w ten sposób jest trudniejsza do realizacji, gdyż nawet niewielka zmiana działania programu może spowodować konieczność wprowadzenia poprawek w wielu miejscach. Tradycyjne podejście do programowania, zwane programowaniem proceduralnym charakteryzuje się rozdzieleniem danych od operujących na nich funkcji. Takich wad pozbawione jest programowanie obiektowe, będące po programowaniu strukturalnym kolejnym etapem w rozwoju języków programowania.

3 Styl taki powstał w wyniku postrzegania rzeczywistości jako zbioru obiektów różnego typu, które mogą wykonywać określone czynności, potrafią się ze sobą komunikować i na siebie wzajemnie oddziaływać. Programowanie obiektowe jest stylem programowania, w którym do tworzenia programów używa się obiektów. obiekt = dane + metody Obiekty w programie często odzwierciedlają cechy i umiejętności swoich odpowiedników ze świata rzeczywistego.

4 Język obiektowy - powinien posiadać 4 właściwości: Hermetyzacja danych (enkapsulacja) Abstrakcja danych Dziedziczenie Polimorfizm

Hermetyzacja danych Jest to proces umiejscawiania definicji danych poprzez ich ukrywania wewnątrz obiektu i udostępnianie ich przez specjalne funkcje zwane metodami. Hermetyzacja umożliwia zapewnienie bezpieczeństwa danych, obsługę błędów i weryfikację poprawności danych.

Abstrakcja danych Jest to proces grupowania cech i czynności związanych z określonym bytem. Wspólne cechy (atrybuty) tworzą jednostkę logiczną - klasę. Klasa jest miejscem przechowywania takich informacji - dotyczących obiektów - które są dla nich niezmienne, wspólne. Obiekt jest instancją (egzemplarzem) klasy.

7 Klasy i obiekty ClassObject A class is a template or blueprint that defines an objects attributes and operations and that is created at design time An object is a running instance of a class that consumes memory and has a finite lifespan

8 Obiekt KONTO Wypłać Wpłać Sprawdź stan Upoważnij Zmień upoważnienie Porównaj podpis Zlikwiduj konto Nalicz procent Numer SaldoZł 2500 Właściciel Jan Kowalski Upoważniony Ewa Kowalska Właściwości Metody

9 Powiązania pomiędzy obiektami PRACOWNIK Nazwisko Kowal Zarobek 2500 PracujeW PRACOWNIK Nazwisko Babel Zarobek 2000 PracujeW PRACOWNIK Nazwisko Nowak Zarobek 1500 PracujeW FIRMA Szef NrFirmy Nazwa Syntex Zatrudnia Dzięki istnieniu unikalnych identyfikatorów obiektów w obiektowych językach programowania i bazach danych możliwe jest tworzenie bezpośrednich powiązań między obiektami.

Dziedziczenie Jest to proces tworzenia bardziej szcze- gółowego typu danych na podstawie ogólnej klasy. Dziedziczenie opisuje się za pomocą hierarchii to_jest (is_a)

11 Przykład Dziedziczenia Z figury bazowej, powstają różne inne konkretne figury. narysuj() usuń() przesuń() Figura Okrąg Trójkąt Kwadrat Klasa podstawowa, macierzysta. Nadklasa. Klasy potomne. Podklasy. Wyprowadzenia klas.

12 Przykład dziedziczenia klas PRACOWNIK Zarobek Firma Zdjęcie ZarobekNetto() ZmieńZarobek(...) STUDENT NrIndeksu RokStudiów Wydział WstawOcenę(...) ZaliczSemestr() OSOBA Nazwisko Imię RokUrodz Wiek() obiekt

13 Dziedziczenie wielokrotne POJAZD ciężar..... prędkość_eksploat() POJAZD_LĄDOWY ilość_kół max_prędkość..... POJAZD_WODNY wyporność max_prędkość..... AMFIBIA SAMOCHÓD JACHT TRAKTOR ŻAGLÓWKA Jest to dziedziczenie z kilku klas, połączone z sumowaniem dziedziczonych cech

Polimorfizm Jest to proces udostępniania właści- wości o jednakowej nazwie kilku klasom, nawet, jeżeli są one inaczej wykorzystane w tych klasach. Polimorfizm wynika m.in. stąd, że progra- miści współpracujący ze sobą nadają podobne nazwy metodom realizującym podobne zadania.

15 Polimorfizm obiekt STUDENT.... dochody().... PRACOWNIK.... dochody().... EMERYT.... dochody().... obiekt OSOBA nazwisko kategoria.... Metody dochody są różne dla każdej klasy. Po otrzymaniu komunikatu dochody wybierana jest metoda właściwa dla klasy, do której należy dany obiekt. Polimorfizm wymaga dynamicznego wiązania. Przesłanianie jest jedną z jego form. Polimorfizm stwarza znaczny potencjał dla ponownego użycia i modyfikowalności oprogramowania.