Programowanie obiektowe

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Język C/C++ Funkcje.
Programowanie obiektowe
Klasy i obiekty.
Wzorce.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
PROGRAMOWANIE STRUKTURALNE
Elementarne struktury danych Piotr Prokopowicz
Programowanie obiektowe w Javie
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 5: Typy porządkowe, wyliczeniowe i okrojone. Definiowanie.
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
ODE Informacje wstępne. Pojęcia podstawowe n Obiektowa baza danych u język komunikacji u ziarnistość obiektów u identyfikacja obiektów n Transakcja -
Struktury.
Dziedziczenie i jego rodzaje
C++ wykład 2 ( ) Klasy i obiekty.
Zasady zaliczenia Warunki uzyskania zaliczenia:
Tablice jednowymiarowe 1
Typy danych – podstawy 1 W Adzie wszystkie dane muszą być określonego typu. Definicja Typ danych (data type) jest to zbiór wartości i operacji, które można.
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Wykład 8 Wojciech Pieprzyca
Podstawy programowania PP – LAB5 Wojciech Pieprzyca.
Wykład 2 struktura programu elementy języka typy zmienne
Wstęp do programowania obiektowego
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
Podstawy C# Grupa .NET PO.
struct nazwa { lista składników }; Dostęp do składowych struktury Nazwa_Zmniennej_Strukturalnej. Nazwa_Składnika.
Podstawy programowania
Podstawy programowania II
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
Podstawy informatyki Struktury, operatory, wyjątki
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Źródła: podręcznikopracował: A. Jędryczkowski.
Procedury i funkcje.
Podstawy programowania
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Programowanie obiektowe III rok EiT
Podstawy programowania w języku C i C++
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Programowanie obiektowe III rok EiT
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Programowanie w języku C++
Programowanie w języku C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Programowanie strukturalne i obiektowe C++
Model obiektowy bazy danych
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Programowanie Zaawansowane
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Programowanie Obiektowe – Wykład 6
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Programowanie Obiektowe – Wykład 2
Wprowadzenie do programowania obiektowego
Założenia projektowe Javy
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
PGO Przeciążanie metod i konstruktorów
Zapis prezentacji:

Programowanie obiektowe Andrzej Ziółkowski Wykład 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ń)

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

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

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

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

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

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

Drzewo (hierarchia) Relacje typu rodzice – dzieci Drzewo binarne

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;

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, 567.41, 247.59, 588.09); float odl2 = odległość(p1.x, p1.y, p2.x, p2.y);

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

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.

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 …

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() {…} }

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ę();

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

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

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.

Przykład

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

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

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ść

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

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++) { ...