Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Programowanie obiektowe III rok EiT
:53:20 Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład I
2
Co jeszcze mógłby wymyślić Einstein gdyby znał Aplety Javy
:53:20 Co jeszcze mógłby wymyślić Einstein gdyby znał Aplety Javy VIII Dolnośląski Festiwal Nauki 16-23 IX 2005
3
Java Java to zorientowany obiektowo język programowania
Sun Microsystems. Java zwiększa interaktywność stron WWW. Użytkownicy mogą oddziaływać na zawartość stron WWW za pomocą myszki, klawiatury oraz przycisków i pól tekstowych. Java potrafi wzbogacić multimedialną zawartość stron WWW oferując płynne animacje, grafikę, dźwięk i wideo Wszystkie te udogodnienia są możliwe dzięki krótkim programom, które nazywane są apletami. Aplety są zawarte w stronach WWW. Aplety są ładowane poprzez sieć do komputera użytkownika i tam wykonywane.
4
Historia Bill Joy sugeruje SUNowi stworzenie środowiska obiektowego na bazie C++, W ramach projektu „Stealth” („Green”) powstaje język OAK - „Object Application Kernel” (James Gosling), zmiana nazwy na JAVA ze względu na zastrzeżenie nazwy OAK, Pojawia się Netscape zgodny z Javą 1.0, Sun propaguje darmowe środowisko JDK 1.0, Java 2 Nowe oblicze Javy.
5
Albert Einstein Tegoroczna, VIII edycja DFN na Politechnice Wrocławskiej odbywa się w Międzynarodowym Roku Fizyki – nauki określanej często mianem królowej nauk technicznych. Sto lat temu Albert Einstein opublikował w Annalen der Physik pięć prac, które zmieniły oblicze fizyki. Dotyczyły one szczególnej teorii względności, zjawiska fotoelektrycznego, ruchów Browna, rozmiarów liniowych cząsteczek. W tym roku przypada dziewięćdziesiąta rocznica powstania ogólnej teorii względności oraz pięćdziesiąta rocznica śmierci Alberta Einsteina. Albert Einstein
6
Generacje języków programowania
W ciągu ponad 50 lat rozwoju języków programowania powstały ich cztery generacje. Dla programów napisanych w językach pierwszej generacji (FORTRAN 1, COBOL) charakterystyczny jest wspólny obszar danych globalnych, do którego odwołują się podprogramy. W językach pierwszej generacji podczas tworzenia oprogramowania możliwe było oddzielenie od siebie różnych danych, ale było to oddzielenie logiczne, a nie programowe. Cała struktura danych była widoczna dla wszystkich podprogramów, dlatego błąd w jednym z nich mógł mieć katastrofalny wpływ na cały program. Przy modyfikacji dużego systemu zasadniczą trudnością było utrzymanie spójności oprogramowania, które cechowało się wieloma powiązaniami pomiędzy podprogramami i skomplikowanym przekazywaniem sterowania.
7
Języki drugiej generacji
Podstawami rozwoju drugiej generacji języków byłą taka modyfikacja podprogramów, by mogły one przekazywać między sobą parametry, być zagnieżdżane i mieć zróżnicowany zakres widoczności deklaracji stałych i zmiennych. Dzięki mechanizmowi przekazywania parametrów podprogramy stały się procedurami. Wymienione własności języków drugiej generacji spowodowały powstanie strukturalnych metod projektowania oprogramowania.
8
Języki trzeciej generacji
Charakterystyczną cechą języków trzeciej generacji była modułowość. Moduł grupował dane i podprogramy mające ze sobą związek logiczny. Wyodrębnienie modułów w procesie dekompozycji funkcjonalnej pozwalało na rozdzielenie pracy pomiędzy samodzielnych programistów. Technologia ta umożliwiła utworzenie większych zespołów projektowych i powstanie bardziej złożonego oprogramowania.
9
Języki czwartej generacji 4GL
Języki czwartej generacji, zwane językami obiektowymi (np. C++), zmieniają podejście do zagadnienia struktur danych. Języki obiektowe rozszerzają pojęcie struktury danych o nowy element zwany obiektem (dokładniej typem obiektowym). Typ obiektowy zawiera zarówno dane, jak i algorytmy posługujące się tymi danymi. Algorytmy te są często zapisywane w postaci funkcji i procedur, które łącznie określane są jako metody obiektu (funkcje składowe). Obiekt, jako pojedynczy element programu, może być przypisywany i stosowany jak każdy inny typ danych. W językach obiektowych moduły zawierają kolekcje obiektów, a nie podprogramów jak to miało miejsce w językach starszych generacji. Struktura programów napisanych przy wykorzystaniu języków obiektowych jest podobna do grafu. Fakt ten zmienia w sposób zasadniczy reguły analizy i projektowania oprogramowania.
10
Programowanie obiektowe
Programowanie obiektowe jest metodą tworzenia oprogramowania, w której programy są organizowane jako kolekcje obiektów. C++, Java są językami programowania obiektowego.
11
Podejście obiektowe Object Oriented Approach - OOA
Podejście obiektowe modeluje sposób w jaki ludzie rozumieją i przetwarzają rzeczywistość. Przy pomocy tego podejścia ludzie tworzą coś dla ludzi. Zasadnicza część podstaw teoretycznych podejścia obiektowego składa się z idei dotyczących podstaw ludzkiego myślenia. Korzeni podejścia obiektowego należy szukać w psychologii i w naukach do niej pokrewnych. Modelowanie sposobu w jaki ludzie rozumieją i przetwarzają rzeczywistość wymaga zrozumienia: czym są przyswajane przez ludzi pojęcia dlaczego są istotne jak ich używamy i jak je przekazujemy.
12
Dokumentowanie pojęć Jeżeli posiedliśmy jakieś pojęcie, to oznacza, że możemy się im posługiwać . Formalizacja dowolnego pojęcia wymaga utworzenia testu do jego identyfikacji. Intensja - pełna definicja pojęcia i testu, czy pojęcie odnosi się do badanego obiektu czy nie. Ekstensja - zbiór wszystkich obiektów do których stosuje się dane pojęcie. Trójka pojęciowa: symboliczna reprezentacja + intensja + ekstensja.
13
Wytłumaczenie pojęcia
Trójka pojęciowa Symbol pojęcia Intensja Definicja Pomysł Wytłumaczenie pojęcia Ekstensja Zbiór egzemplarzy Obiekt jest to egzemplarz pojęcia. Instrument muzyczny jest to dowolne urządzenie zdolne do wydawania melodyjnych i harmonijnych dźwięków. Fortepian jest instrumentem muzycznym.
14
Zastosowania podejścia obiektowego
Zarządzanie projektami Metoda Martina PRINCE LFA Prezentacja zamierzeń – składanie wniosków Relacyjne bazy danych OMG, UML Projektowanie oprogramowania Praca zespołowa CASE Computer Aided Software Engineering
15
Kontakt dr inż. Jerzy Kotowski Janiszewskiego 11/17, 219 C-3
(+48 71)
16
Literatura James Martin, James J. Odell Podstawy metod obiektowych WNT 1997 Jerzy Grębosz Symfonia C++ Oficyna Kallimach 1999 Wydawnictwo Edition 2000 Jerzy Grębosz Pasja C++ Wydawnictwo Edition 2000
17
Program wykładu Źródła podejścia obiektowego
Podstawy metody PRINCE (PRojects In Controlled Environment) Podstawy metody LFA (Logical Framework Approach, składanie wniosków o grant) Język C++ (gadżety języka, polimorfizm, klasy, dziedziczenie) bez Pasji C++ (pojemniki, wyjątki, szablony, przestrzenie nazw, etc.) Przykład problemu (być może symulacja sieci wodociągowej) Podstawy języka JAVA Klasówka
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.