Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie obiektowe Andrzej Ziółkowski Wykład 2.

Podobne prezentacje


Prezentacja na temat: "Programowanie obiektowe Andrzej Ziółkowski Wykład 2."— Zapis prezentacji:

1 Programowanie obiektowe Andrzej Ziółkowski Wykład 2

2 Algorytm Algorytm – (przepis), ścisły opis sposobu wykonania) skończony, uporządkowany zbiór jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Schemat blokowy – jeden ze sposobów przedstawiania algorytmu Program – inny sposób przedstawiania algorytmu. Algorytm zapisujemy w języku programowania (np. Java) o ściśle określonej syntaktyce (składni) i semantyce (znaczeniu wyrażeń)

3 Dane i struktury danych Typy proste Tablica Stos Kolejka Lista Drzewo Struktura Tablica asocjacyjna

4 Typy proste Znakowe Character String StringBuffer Liczbowe Byte Short Integer Long Float Double BigDecimal BigInteger Logiczne Boolean

5 Tablica Dostęp do jednorodnych, powtarzających się danych przez podanie indeksu np. produkcja_netto[2] – może oznaczać wartość produkcji w lutym

6 Stos Stos – można pobrać tylko element ostatnio zapamiętany Funkcje: push – zapamiętanie na stosie pop – pobranie ze stosu Zastosowanie: Implementacja wyrażeń arytmetycznych Przekazywanie parametrów funkcji

7 Kolejka Można pobrać element najwcześniej zapamiętany

8 Lista Uporządkowany zbiór elementów. Każdy element wskazuje następny a w liście dwukierunkowej również poprzedni

9 Drzewo (hierarchia) Relacje typu rodzice – dzieci Drzewo binarne

10 Struktura Struktura – zbiór powiązanych ze sobą logicznie danych Przykład (język C) Deklaracja struct pracownik { char nazwisko[30]; char stanowisko[20]; int wynagrodzenie; char* CV; } Odwołanie pracownik.wynagrodzenie = 4500;

11 Funkcja (procedura, podprogram) Wydzielona część programu realizująca powtarzający się fragment algorytmu Zwiększenie czytelności i skrócenie kodu Przykład Deklaracja: float odległość(float x1, float y1, float x2, float y2) { return math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } Wywołanie: float odl1 = odległość(245.67, , , ); float odl2 = odległość(p1.x, p1.y, p2.x, p2.y);

12 Przekazywanie parametrów przez wartość – funkcja nie może zmienić wartości parametru przez wskaźnik – funkcja może zmienić wartość parametru

13 Pojęcie klasy i obiektu Klasa to zbiór obiektów opisywanych tym samym zestawem parametrów (pól, atrybutów) oraz zestawem procedur działania (metod, funkcji). Obiekt należący do klasy opisuje struktura, której elementami są pola oraz metody. Wartości pól określają stan obiektu i jego cechy. Metody określają sposób działania obiektu (algorytmy). Mogą zmieniać wartości pól a tym samym stan obiektu. Obiekty są tworzone i po utworzeniu mogą być używane. Podczas tworzenia obiektu rezerwowane jest miejsce w pamięci potrzebne do przechowywania struktury opisującej obiekt. Tworzonym obiektom nadajemy nazwy pozwalające się do nich odwoływać. Możemy wywołać metodę konkretnego obiektu podając jego nazwę oraz nazwę metody.

14 Przykład klasy Meble Meble biurowe Fotele Półki Biurka Meble do sypialni Łóżka Szafy Meble kuchenne Podział na klasy jest arbitralny i zależy od naszych potrzeb Obiekt: Fotel President jest obiektem należącym do klasy Fotele, Meble biurowe, Meble Klasy mogą tworzyć hierarchię Stan obiektu określa zestaw parametrów (atrybutów, pól), różny dla różnych klas np. fotel Rodzaj obicia Model Cena …

15 Klasa Fotel - deklaracja class Fotel { String nazwa; String typ; String obicieKolor; String obicieKodMateriału; float cena; … Fotel(String nazwa, String typ) {…} Obicie(String kolor, String materiał) {…} ObliczCenę() {…} MalujFotel() {…} … }

16 Klasa Fotel - użytkowanie Tworzenie obiektu Fotel Fotel fot1 = new Fotel(President,N-45-S3); Fotel fot2 = new Fotel(President,N-45-S3); Specyfikacja fot1.Obicie(JasnaZieleń,M33-221); fot2.Obicie(WściekłyFiolet,M33-221); Obliczanie ceny float cena1 = fot1.ObliczCenę(); float cena2 = fot2.ObliczCenę();

17 Dziedziczenie (inheritance) Dziedziczenie - tworzenie nowej klasy na bazie klasy już istniejącej p1, p2, p3, p4 – pola, m1, m2, m3 -metody

18 Hermetyzacja (enkapsulacja) Zmiana stanu obiektu (wartości pól) tylko za pośrednictwem metod tego obiektu. Wszystko co dotyczy obiektów należących do pewnej klasy powinno być realizowane za pomocą metod tej klasy a nie poza nią. Korzyści: Gdy coś źle działa dla pewnej klasy obiektów nie musimy szukać błędów w całym programie a jedynie w klasie obiektu

19 Polimorfizm Możliwość innego definiowania metod dziedziczonych z klas bazowych. Ta sama metoda należąca do klasy bazowej może być inaczej zrealizowana i inaczej działać w obiektach należących do różnych klas wywiedzionych z tej samej klasu bazowej.

20 Przykład

21 Przykład - klasy Symulacja – kontroluje i organizuje przebieg symulacji, w szczególności proces pojawiania się nowych klientów w sposób zgodny z zebranymi danymi statystycznymi Klient – zawiera wszystkie informacje o kliencie i sprawie, którą chce załatwić Urzędnik – zawiera wszystkie informacje o urzędniku i jego kompetencjach

22 Przykład class Klient { int stan; // oczekiwanie, załatwianie,… String typSprawy; int maxCzasCzekania; int czasCzekania; StańWKolejce(int nrOkienka); ZałatwiajSprawę(); Zrezygnuj(); ObliczCzasCzekania(); }

23 Język Java - zmienne Deklarowanie zmiennych int x = 0; // x-nazwa zmiennej, 0-wartość String s = abc; // s-nazwa zmiennej, abc-wartość Deklarowanie tablicy int[ ] t = new int[10]; // t-nazwa tablicy, int-typ elementu, 10-liczba elementów tablicy Zmiana wartości zmiennej i elementu tablicy x = 55; // x-nazwa zmiennej, 55-nowa watość t[0] = 44; // t-nazwa tablicy, 0-nr elementu, 44-nowa wartość

24 Język Java - operatory Podstawienia = += -= Arytmetyczne + - * / % Logiczne && || Bitowe & | ~ ^ > >>> Relacje == != > >= < <=

25 Język Java – instrukcje sterujące Instrukcje warunkowe if (n<10) { x = n; … } else { x = 0; … } Pętle do { … } while (i > 0); for (int i=0; i<10; i++) {... }


Pobierz ppt "Programowanie obiektowe Andrzej Ziółkowski Wykład 2."

Podobne prezentacje


Reklamy Google