PWSZ Gniezno // codefly 2009

Slides:



Advertisements
Podobne prezentacje
INSTRUKCJA KORZYSTANIA Z KATALOGU ON-LINE
Advertisements

Projektowanie Aplikacji Komputerowych
C++ wykład 2 ( ) Klasy i obiekty.
Programowanie obiektowe
OKRĄG I KOŁO Opracowała: Maria Pastusiak.
Programowanie obiektowe
Klasy i obiekty.
Wzorce.
Bezpieczeństwo wyjątków w C++: OpenGL
K O Ł O i O K R Ą G.
Elementarne struktury danych Piotr Prokopowicz
Programowanie Obiektowe w Javie (c.d.)
Programowanie obiektowe w Javie
25/08/ Języki programowania 1 Piotr Górczyński Obiekty i zdarzenia.
Budowa i funkcje elektronicznego katalogu biblioteki szkolnej
DZIEDZICZENIE · klasy bazowe i klasy pochodne WyświetlAutora( ) Autor
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Marcin Kujawa Michał Łobarzewski
Procesor tekstu Word część 2
Dziedziczenie i jego rodzaje
Zasady zaliczenia Warunki uzyskania zaliczenia:
Podstawy programowania PP – LAB6 Wojciech Pieprzyca.
Wstęp do programowania obiektowego
KOŁA I OKRĘGI.
Zbiór do posortowania mieści się w pamięci
Podstawy programowania
Pole koła Violetta Karolczak SP Brzoza.
← KOLEJNY SLAJD →.
Podstawy informatyki Struktury, operatory, wyjątki
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Źródła: podręcznikopracował: A. Jędryczkowski.
RÓŻNE WZORY NA POLA TRÓJKĄTÓW
Podstawy Programowania
Wstęp do algorytmiki Program ELI Marek Magiera
Inż. Łukasz Antoniak Promotor: dr inż. Piotr Gawrysiak Politechnika Warszawska, Wydział Elektroniki i Technik Informacyjnych, 2010.
Programowanie strukturalne i obiektowe
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
WPROWADZENIE W ŚWIAT OBIEKTÓW
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Warsztaty C# Część 6 Grzegorz Piotrowski Grupa .NET PO
Opracowała: Iwona Kowalik
Opracowała: Iwona Kowalik
Prezentacja figury geometryczne otaczające nas na świecie
Programowanie obiektowe – język C++
KOŁA I OKRĘGI.
Programowanie obiektowe 2013/2014
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.
Programowanie w języku C++
Projektowanie stron WWW
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Patrycja Walczak Kl. III-5 Przedstawia BRYŁY OBROTOWE.
Programowanie obiektowe
Pokaz programu PowerPoint XP POLE KOŁA Opracowała Magdalena Pęska.
Platforma .Net.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Asocjacja,Kompozycja,Agregacja
Programowanie Obiektowe – Wykład 6
Figury geometryczne płaskie
Programowanie Obiektowe – Wykład 2
Koła i okręgi – powtórzenie.
Podstawy programowania
BYDGOSKI FESTIWAL NAUKI
PGO Dziedziczenie Michail Mokkas.
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

PWSZ Gniezno // codefly 2009

Programowanie obiektowe www.codefly.pl autor: Krzysztof Kęczkowski keczek@codefly.pl PWSZ Gniezno // codefly 2009

Programowanie proceduralne Dlaczego obiektowo? początek Programowanie proceduralne Linie kodu Żeby zrozumieć dlaczego warto programować obiektowo spójrzmy na klasyczny model programowania proceduralnego, w którym instrukcje wykonywane są linia po linii od początku do końca programu. Istnieją w tym modelu typy zmiennych, instrukcje logiczne, pętle i struktury. Brakuje jednak czegoś bardzo ważnego – obiektów. koniec PWSZ Gniezno // codefly 2009

Dlaczego obiektowo? Przykład biblioteki – zbioru książek Książka autor, tytuł, rok wydania, wydawnictwo, liczba stron, ilość sztuk, ilość sztuk wypożyczonych, ilość sztuk do wypożyczenia, itd. Żeby zrozumieć gdzie można zastosować obiektowość przyjrzyjmy się przykładowi biblioteki, która w swoich zbiorach przechowuje książki. Każda książka posiada pewne z góry założone atrybuty jak autor, tytuł, rok wydania itd.

Dlaczego obiektowo? Przykład biblioteki – zbioru książek przykładowe rozwiązania wg programowania proceduralnego Wiele różnych tablic i przechodzenie po nich na tym samym indeksie Tablica ze wskaźnikami do struktur przechowujących właściwości Dziwne rozwiązania na około W jaki sposób można zrealizować taki model używając programowania proceduralnego? Można zrobić to generalnie na dwa sposoby. Pierwszy z nich to bardzo nieeleganckie użycie wielu tablic, które będą przechowywać różne właściwości tego samego obiektu pod tym samym indeksem. Drugim rozwiązaniem byłoby użycie tablicy wskaźników do struktur. W strukturach mamy możliwość pogrupowania pewnych cech w jedną całość. Jest to o niebo bardziej przejrzysty sposób. Wciąż jednak czegoś w nim brakuje. PWSZ Gniezno // codefly 2009

Dlaczego obiektowo? Przykład koła – użycie funkcji Koło położenie x, położenie y, promień, średnica, pole, obwód Weźmy inny przykład. Ten przykład to taki w którym mamy pewnego rodzaju obiekt geometryczny. Właściwościami naszego koła są położenie na osi xy i promień oraz kilka cech możliwych do obliczenia z tych atrybutów. Są to jak widać promień, średnica, pole i obwód. PWSZ Gniezno // codefly 2009

Dlaczego obiektowo? Przykład koła – użycie funkcji przykładowe rozwiązania wg programowania proceduralnego Podanie wartości x i y położenia oraz promienia koła Wywołanie funkcji operującej na tych wartościach Obliczenie wartości średnicy, pola i obwodu Aby zbudować coś na wzór tablicy kół należy wczytać na początku wartości bazowe, a następnie użyć ich jako atrybutów jakichś funkcji zdefiniowanych zupełnie gdzie indziej w kodzie. Jeżeli będziemy mieć więcej kodu i wyliczać sporo rzeczy, to bardzo możliwe, że pogubimy się we własnym kodzie. PWSZ Gniezno // codefly 2009

Dlaczego obiektowo? Tak, warto. Czy warto stworzyć coś, co pozwoliłoby pogrupować istotne właściwości (cechy) obiektów oraz pozwoliło im samym zarządzanie swoimi wartościami (metody) ? Powyższe pytanie pojawiło się w głowach dwóch pracowników Norsk Regnesentral, którzy pracowali nad symulacjami zachowania się statków. Po pewnym czasie nie byli oni już w stanie kontrolować własnego kodu. Wpadli więc na pomysł, żeby pogrupować statki według typów i zostawić kontrolowanie własnych danych i zachowań po stronie każdego z typów. Tak, warto. PWSZ Gniezno // codefly 2009

Programowanie obiektowe Idea Wszystko jest obiektem Jaka jest więc idea programowania obiektowego? Można ją zawrzeć w jednym prostym zdaniu, a mianowicie mówi ona, że wszystko jest obiektem. Obiektem może być więc wszystko, co należy do rzeczywistego świata. Poprzez obiekt możemy kontrolować kontrolki w programowaniu wizualnym, tworzyć nowe typy zawierające podtypy, a każdy z nich wciąż będzie obiektem. Obiektem może być pracownik firmy, samochód, kierownica, koło, głośnik, itd. PWSZ Gniezno // codefly 2009

Programowanie obiektowe Reprezentacja obiektu Nazwa obiektu Cechy obiektu Jak w takim razie możemy opisać obiekt? Przyjęto, że są to generalnie 3 pola. Jest to nazwa obiektu, jego właściwości, cechy, atrybuty, oraz funkcje czy metody, które może ten obiekt wykonać. Funkcje, metody obiektu PWSZ Gniezno // codefly 2009

Programowanie obiektowe Przykład obiektu class nazwa klasy Samochód marka, model, rocznik, pojemność, typ nadwozia, liczba drzwi, wyposażenie cechy klasy W językach programowania do opisu obiektów wprowadzono pojęcie klas. Każda klasa posiada swoją unikalną nazwę, swoje atrubuty oraz metody. W przypadku powyższego przykładu mogą to być np. metody dostępu do atrybutów. zapisz właściwości, wyświetl właściwości, modyfikuj właściwości metody klasy PWSZ Gniezno // codefly 2009

Programowanie obiektowe Podstawowe założenia: Abstrakcja Hermetyzacja Istnieją pewne założenia, które muszą spełniać klasy. Są to: Abstrakcja – tzn. każdy obiekt w systemie służy jako model abstrakcyjnego "wykonawcy", który może wykonywać pracę, opisywać i zmieniać swój stan oraz komunikować się z innymi obiektami w systemie, bez ujawniania, w jaki sposób zaimplementowano dane cechy. Hermetyzacja – pozwala kontrolować aby jeden obiekt nie mógł wpływać w nieprzewidziany sposób na inne. Dostęp do wewnętrznych właściwości obiektu mają jedynie jego metody. Polimorfizm - to mechanizmy pozwalające programiście używać wartości, zmiennych i podprogramów na kilka różnych sposobów, inaczej to możliwość wyabstrahowania wyrażeń od konkretnych typów np. obiektu jakiejś klasy i typu liczbowego (przeciążenie operatorów) czy funkcje wirtualne. Dziedziczenie – to mechanizm w którym można stworzyć postać klasy bazowej, która będzie posiadać ogólne cechy i metody wspólne dla klas pochodnych będących bardziej wyspecjalizowanymi. Np klasa bazowa auto i dwie klasy pochodne osobowe i ciężarowe. Polimorfizm Dziedziczenie PWSZ Gniezno // codefly 2009

Programowanie obiektowe Korzyści Większa przejrzystość kodu Lepsze zarządzanie kodem Ułatwienie dla pracy zespołowej Skomplikowane projekty stają się prostsze Programowanie wizualne Jakie korzyści daje nam programowanie obiektowe w czasie budowania programów? Przede wszystkim pozwala lepiej zorientować się w kodzie. Dużą zaletą jest tu również możliwość ułatwionej pracy zespołowej. W tym modelu programowania programiści mogą dostać do zrobienia różne klasy (lub bloki klas), które będą miały komunikować się ze sobą. Aby to zrobić pracownicy potrzebują jedynie wiedzieć, co dostaną na wejściu oraz co powinni zwrócić na wyjściu klasy. Konsekwencją tego skomplikowane projektu stają się prostsze w planowaniu, wykonaniu, zarządzaniu i rozbudowie. Ułatwia to również testowanie aplikacji. Programowanie obiektowe ma również szerokie zastosowanie w programowaniu wizualnym. PWSZ Gniezno // codefly 2009

Programowanie obiektowe Przykład PWSZ Gniezno // codefly 2009