Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
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 Deklarowanie tablicy
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
= += -= 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++) { ...
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.