Programowanie Obiektowe



Podobne dokumenty
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

WYKŁAD 12. Wzorce projektowe czynnociowe State Mediator

Modelowanie i Programowanie Obiektowe

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie obiektowe - 1.

Podstawy Programowania Obiektowego

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Język programowania. Andrzej Bobyk

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

Wykład 9: Polimorfizm i klasy wirtualne

Model obiektu w JavaScript

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Podstawy Programowania Programowanie Obiektowe

Typy bazy danych Textract

Programowanie obiektowe

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Wykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów.

Enkapsulacja, dziedziczenie, polimorfizm

K_W04 K_W04 K_W04. Opis

Oracle PL/SQL. Paweł Rajba.

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.

WYKŁAD 9. Wzorce projektowe czynnociowe Observer Visitor

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Technologie obiektowe

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

private - oznacza, że wszystkie elementy klasy bazowej zmieniają się w prywatne.

Wykład 0 Informacje Podstawowe

Technologie i usługi internetowe cz. 2

WIZUALIZACJA DANYCH ZE STRZELA RAKIETOWYCH Z WYKORZYSTANIEM SYSTEMÓW CAx

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2012/2013

WYKŁAD 11. Wzorce projektowe czynnociowe Iterator TemplateMethod

Bazy danych Podstawy teoretyczne

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

Program Sprzeda wersja 2011 Korekty rabatowe

problem w określonym kontekście siły istotę jego rozwiązania

Programowanie obiektowe

Język Java część 2 (przykładowa aplikacja)

Programowanie obiektowe

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Programowanie obiektowe

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Programowanie obiektowe

Podstawy programowania. Wprowadzenie

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

hierarchie klas i wielodziedziczenie

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Studium przypadku Case Study CCNA2-ROUTING

Paweł Kurzawa, Delfina Kongo

Materiały do zajęć VII

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Programowanie obiektowe. Wykład 4

PRZEWODNIK PO PRZEDMIOCIE

Dziedziczenie. Tomasz Borzyszkowski

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Podstawy Języka Java

Programowanie obiektowe

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

PRZEWODNIK PO PRZEDMIOCIE

Języki i paradygmaty programowania. I. Wprowadzenie

Dokumentacja do API Javy.

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Podstawy modelowania programów Kod przedmiotu

Gramatyki regularne i automaty skoczone

1. WSTP. 2. Koncepcja platformy bezpieczestwa publicznego

Wzorce projektowe kreacyjne

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Style programowania - krótki przeglad

Historia i podstawowe koncepcje. Tomasz Borzyszkowski

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Wykład 1 Inżynieria Oprogramowania

Programowanie obiektowe Object programming. Elektrotechnika II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Paradygmaty programowania

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Programowanie obiektowe 1 - opis przedmiotu

Język JAVA podstawy. wykład 1, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Wprowadzenie do systemów informacyjnych

Zaawansowane programowanie w C++ (PCP)

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Wykład 8: klasy cz. 4

PRZEWODNIK PO PRZEDMIOCIE

Laboratorium 1 - Programowanie proceduralne i obiektowe

Języki programowania imperatywnego

Wykład 9: Metody wirtualne i polimorfizm

Program do konwersji obrazu na cig zero-jedynkowy

Wzorce projektowe. dr inż. Marcin Pietroo

Terminologia baz danych

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Laboratorium 5 - Projektowanie programów zorientowanych obiektowo. Indywidualny projekt programistyczny

Transkrypt:

Programowanie Obiektowe dr in. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl

WYKŁAD 1 Wstp, jzyki, obiektowo

Cele wykładu Zaznajomienie słuchaczy z głównymi cechami obiektowoci Przedstawienie zalet podejcia obiektowego Wprowadzenie uniwersalnego systemu poj Prezentacja technik zwikszajcych zalety podejcia obiektowego Ułatwienie znalezienia i wdroenia si do przyszłej pracy

Róne koncepcje jzyków programowania Istnieje kilka klasyfikacji jzyków programowania: A. Wg paradygmatów B. Wg generacji A. Podana niej klasyfikacja jzyków programowania jest konsekwencj paradygmatów programowania, ale nie jest jednoznaczna.

Róne koncepcje jzyków programowania Klasyfikacja jzyków (wg. paradygmatów): 1. Funkcyjne [brak zmiennych liczne odmiany prostych jzyków skryptowych] 2. Deklaratywne [COBOL,PROLOG,LISP,...] 3. Imperatywne w tym strukturalne [Assemblery,FORTAN,Pascal,C,...] 4. Obiektowe [przykłady] 5. inne Istniej jzyki spełniajce wiele paradygmatów jednoczenie (przykłady).

Róne koncepcje jzyków programowania B. Podana niej klasyfikacja oparta jest na generacjach jzyków programowania. Im nisza generacja tym jzyk bliszy sprztu a co za tym idzie trudniejszy w uyciu przez programist. Interesujce generacje jzyków programowania: 3GL [nazwane zmienne - C++, Java] 4GL [bardzo treciwe i o duej mocy ale o wskich zastosowaniach np. do tworzenia GUI: Visual Basic, Delphi; dostp do danych: SQL] 5GL

Wyróniki obiektowoci O obiektowoci mówimy wtedy, gdy spełnione s nastpujce 4 warunki: 1. Abstrakcja 2. Enkapsulacja 3. Dziedziczenie 4. Polimorfizm

Abstrakcja Jest to uproszczenie polegajce na ograniczeniu dostpu do tych cech obiektu (danych lub metod), które nie s potrzebne do operowania zzewntrz na obiekcie. Jednym ze sposobów realizowania abstrakcji jest ukrywanie obiektu za interfejsem. Wtedy mówimy, e interfejs jest abstrakcj obiektu a obiekt jest realizacj interfejsu. W ogólnym przypadku dany interfejs moe mie wiele rónych realizacji w tym znaczeniu, e interfejs moe by realizowany przez wiele obiektów bdcych instancjami rónych klas.

Enkapsulacja Enkapsulacja zwana te hermetyzacj, kapsułkowaniem albo ukrywaniem polega na ukrywaniu cech obiektu przed dostpem zzewntrz. Enkapsulacja jest nazywana pełn jeli uniemoliwia ona bezporedni dostp do danych obiektu.

Dziedziczenie Jest to nadawanie obiektom bdcym instancjami danej klasy cech wspólnych z obiektami bdcymi instancjami innej klasy lub nadawanie im cech zdefiniowanych przez inn klas. Rozrónienie obu przypadków wprowadzono celowo ze wzgldu na moliwo definiowania klas, dla których nie da si tworzy instancji. Klasy te nazywane s klasami abstrakcyjnymi.

Polimorfizm Moliwo realizacji rónych zachowa danej metody w zalenoci od klasy obiektu, na którym jest realizowana. W praktyce oznacza to, e obiekty rónych klas, na których wykonywana jest ta sama metoda mog zachowywa si w sposób charakterystyczny dla tej klasy, której s one instancj.

Przykład polimorfizmu Klasy Krowa, Pies, Kot maj wspóln metod daj_glos() zdefiniowan te we wspólnej abstrakcyjnej nadklasie Zwierze. Jeli stworzymy list obiektów bdcych instancjami tych klas i dla kadego z tych obiektów odwołamy si do metody daj_glos(), to dla kadego z obiektów zrealizowana zostanie inna funkcjonalno zdefiniowana w klasie definiujcej dany obiekt. Z pojeciem polimorfizmu zwizane s pojcia: dziedziczenie, metoda wirtualna, rzutowanie w góre. Przykład - laboratorium

Cele stworzenia i główne zalety obiektowoci Paradygmat obiektowoci został opracowany po to aby zrealizowa kilka istotnych celów majcych usprawni tworzenie oprogramowania. Oto przykładowe cele: 1. Zwikszenie ponownego uycia (na rónych poziomach) 2. Usprawnienie zarzdzania zmianami 3. Ogarnicie złoonoci oprogramowania 4. Ułatwienie testowania

Dualno pojcia obiektu Zarówno w programowaniu jak i w inynierii oprogramowania jest kilka poj- pułapek (majcych klika definicji). Jednym z nich jest włanie pojcie obiektu. 1. Obiekt jako komponent w rozumieniu UML'a obiekt jest to element oprogramowania umoliwiajcy realizowanie na nim okrelonej przez niego funkcjonalnoci i majcy fizyczn reprezentacj. 2. Obiekt jako instancja klasy obiekt jest to element oprogramowania umoliwiajcy realizowanie na nim okrelonej przez niego funkcjonalnoci i nie majcy swojej fizycznej reprezentacji.

Powysze definicje powstały dla celów tego wykładu. Pod pojciem reprezentacji fizycznej naley rozumie pełn reprezentacj obiektu w formie perzystentnej (np. exe lub dll). Zagadnienie serializacji obiektu w rozumieniu 2 nie stanowi problemu, gdy funkcjonalno zserializowanego obiektu nie moe by uruchomiona bez odpowiedniego kodu zalenego od tego obiektu.