PARADYGMATY PROGRAMOWANIA

Wielkość: px
Rozpocząć pokaz od strony:

Download "PARADYGMATY PROGRAMOWANIA"

Transkrypt

1 PARADYGMATY PROGRAMOWANIA dr inż. Jerzy Sas, (w tytule 'i: EDU-PP...) Literatura: 1. Grębosz J. Symfonia C++, Oficyna Kalimach, Kraków, 2000, Grębosz J. Pasja C++, Oficyna Kalimach, Kraków, 2000, Eckel B. - Thinkink in C++, Helion, Eckel B. _ Thinkink in Java, Wydanie 3. Helion, Walczak K. - Nauka programowania obiektowego w C++, W&W, W-wa, Kain E. - Od C do C++, Helion, Liberty J. - Poznaj C++, Intersoftland 1999, 9. Dumański R., Kasprzyk A., Kozłowski M. - Analiza i projektowanie obiektowe, 10. Subieta K. - Obiektowość w projektowaniu i bazach danych, Akademicka Oficyna Wydawnicza PLJ, Subieta K. - Słownik terminów z zakresu obiektowości, Akademicka Oficyna Wydawnicza PLJ, Program: 1. Wstęp, p`odstawowe pojęcia z zakresu języków programowania i kompilacji 2. Podstawy programowania obiektowego w C++: pojęcia podstawowe, składniki klasy, definiowanie klasy w C++, dziedziczenie, polimorfizm, metody wirtualne, wstęp do przeciążania operatorów 3. Definiowanie własnych operatorów, przeciążanie operatorów, konwersje typów, zaawansowane techniki dziedziczenia, obiektowe wejście-wyjście w C++ 4. Wyjątki 5. Szablony i wzorce projektowe 6. STL omówienie podstawowych elementów 7. Przykłady praktyczne i ćwiczenia 8. Podstawy programowania w Java 9. Elementy najważniejszych pakietów Java 10. Przykładowe programy w Javie

2 Paradygmat: 1) przyjęty wzorzec w jakiejś dziedzinie (np. postępowania, rozwiązywania kategorii problemów) 2) przyjęty sposób widzenia rzeczywistości w danej dziedzinie 3) niekwestionowalny zbiór pojęć i teorii tworzących podstawy danej nauki Paradygmaty programowania Programowanie imperatywne Programowanie deklaratywne Programowanie sekwencyjne Programowanie obiektowe Programowanie funkcyjne Programowanie w logice Programowanie strukturalne (proceduralne) Programowanie imperatywne - polega na podaniu sposobu wykonania zadania przez określenie kolejnych kroków (poleceń zrozumiałych dla komputera) prowadzących do wykonania zadania Programowanie deklaratywne - polega na określeniu oczekiwanych własności rozwiązania które ma być uzyskane bez podawania szczegółowego algorytmu jego uzyskania Program deklaratywny = sformułowanie problemu w pewnym języku formalnym Przykład: type r_autora = record

3 id : integer; nazwisko, imie : string; narodowosc : (polska, angielska, rosyjska, niemiecka); end; r_ksiazki = record id : integer; tytul : string; id_autora : integer; ilosc_wypozyczen : integer; end; var aut = array [ ] of r_autora; ksiazki = array [ ] of r_ksiazki; Zadanie: Znajdź narodowość, z której książki są najczęściej wypożyczane Program imperatywny: dla każdej książki wyznacz narodowość autora; utwórz tabelę liczności wypozyczeń dla każdej książki dla każdej książki: dodaj jej liczbę wypożyczeń do tabeli liczności na pozycji odpowiadającej narodowości; znajdź pozycję w tabeli liczności o maksymalnej liczbie wypożyczeń; zwróć narodowość odpowiadającą znalezionej pozycji Program deklaratywny: Znajdź narodowość, z której książki są najczęściej wypożyczane wyrażone w języku formalnym (np. SQL) SELECT NARODOWOSC FROM SELECT SUM(ILOSC_WYPOZYCZEN) AS SUMA, NARODOWOSC FROM AUT, KSIAZKI WHERE KSIAZKI.ID_AUTORA = AUT.ID WHERE SUMA = MAX( T1.SUMA ) Cechy programu imperatywnego: Obliczenia rozumiemy tu jako sekwencję poleceń zmieniających krok po kroku stan maszyny, aż do uzyskania oczekiwanego wyniku. Stan maszyny należy rozumieć jako zawartość całej pamięci oraz rejestrów i znaczników procesora. Ten sposób patrzenia na programy związany jest ściśle z budową sprzętu komputerowego o architekturze von Neumanna, w którym poszczególne instrukcje (w kodzie maszynowym) to właśnie polecenia zmieniające ów globalny stan. Języki wysokiego poziomu takie jak Fortran, Algol, Pascal, Ada lub C posługują się pewnymi abstrakcjami, ale wciąż odpowiadają paradygmatowi programowania imperatywnego.

4 Przykładowo, instrukcje podstawienia działają na danych pobranych z pamięci i umieszczają wynik w tejże pamięci, zaś abstrakcją komórek pamięci są zmienne. 1 Programowanie sekwencyjne: program jest ciągiem prostych instrukcji o ustalonej postaci tekstowej kolejność wykonania instrukcji może być zmieniana za pomocą instrukcji skoku warunkowego i bezwarunkowego skok może nastąpić do dowolnego miejsca w programie, można tworzyć podprogramy, do których można przejść z dowolnego miejsca w programie a następnie powrócić do tego miejsca Przykładowe języki: Assembler, BASIC (wczesne wersje), Fortran (wczesne wersje) Programowanie strukturalne: z ciągów instrukcji można tworzyć instrukcje złożone; instrukcje można zagnieżdżać (w szczególności można zagnieżdżać instrukcje złożone, instrukcja skoku (aczkolwiek zwykle dopuszczalna) jest zdecydowanie niezalecana niekiedy istnieje możliwość zagnieżdżania podprogramów, pojawia się pojęcie zmiennych lokalnych. Przykładowe języki: Pascal, C, Ada, BASIC (nowsze wersje) Programowanie obiektowe: program traktuje się jako zbiór autonomicznych i porozumiewających się ze sobą bytów programistycznych zwanych obiektami, obiekt jest połączeniem danych i wykonywanych na tych danych operacji, program powstaje jako model wycinka rzeczywistości, w której też wyróżniamy obiekty obiekty dzielimy na kategorie - dla każdej kategorii tworzymy wzorzec zwany klasą Przykładowe języki: Java, C++, C# Programowanie deklaratywne: Programowanie funkcyjne: Program jest funkcją wyznaczającą wynik działania programu Przykład - obliczanie wartosci ciągu Fibonacciego: 1 Żródło: mowania%3f

5 procedure proc_imper( ind : integer, var wynik : real) begin if (ind = 1) wynik := 3 else if (wyn = 2) wynik := 2 else begin w_2 := 3; w_1 := 2; for i := 3 to ind do begin wynik := w_2 + w_1; w_2 := w_1; w_1 := wynik; end; end; end; function func_deklar( ind : integer ) : real; begin if (ind = 1) func_deklar := 3 else if (wyn = 2) func_deklar := 2; else func_deklar := func_deklar( ind - 2) + func_deklar( ind - 1); end; Cechy programu funkcyjnego: nie ma zmiennych (stanu programu) - tylko argumenty funkcji nie ma trwałych efektów ubocznych wykonania funkcji nie ma instrukcji iteracyjnych instrukcjom iteracyjnym odpowiada rekurencja, do rozwiązania bardziej złożonych problemów definiuje się liczne funkcje pomocnicze Przykładowe języki: LISP, Haskell, można ten styl stosować w większości języków strukturalnych Programowanie w logice: Problem definiuje się w taki sposób aby rozwiązanie mogło być znalezione poprzez wyznaczenie elementów z pewnego zbioru, dla których zachodzi określona własność wyrażona za pomocą formuł (predykatów) logicznych Cechy programu funkcyjnego: Program to sformułowanie własności rozwiązania w języku formalnym pozwalającym na definiowanie predykatów.

6 Wykonanie programu polega na znalezieniu takich danych, dla których mozna "udowodnić" spełnienie wymaganej własności. Zadaniem kompilatora i interpretera programu logicznego jest znalezienie ciągu operacji prowadzących do rozwiązania problemu (udowodnienia własności Przykład: ojciec(jan, jerzy). ojciec(jerzy, janusz). ojciec(jerzy, józef). dziadek(x, Z) :- ojciec(x, Y), ojciec(y, Z).?- dziadek(x, janusz). 2 Przykładowe języki: Prolog, SQL Inne paradygmaty programowania: programowanie sterowane danymi programowanie sterowane zdarzeniami programowanie współbieżne programowanie wizualne (języki 4GL) 2 Żródło: mowania%3f

7 Elementy definicji języka programowania: Składnia - opis wlaśności tekstowych poprawnych programów (pozwalający rozstrzygnąś jaki napis jest poprawnym programem) Metody opisu: - gramatyki bezkontekstowe, gramatyki atrybutowe, notacja BNF Semantyka - opis znaczenia składniowo poprawnych programów Metody opisu: metoda operacyjna, metoda denotacyjna, metoda aksjomatyczna Pragmatyka - zbiór zasad i wskazówek określających jak konstrukcje języka stosować do rozwiązywania praktycznych problemów Metoda opisu: nieformalna Etapy tworzenia programu wynikowego z tekstu napisanego przez programistę Cel: przetworzyć tekst programu w języku źródłowym na program wykonywalny Etapy Wstępne przetwarzanie tekstu, Kompilacja Konsolidacja Interpretacja (opcjonalnie)

8 Programowanie obiektowe w C++ Pojęcie klasy, obiektu i ich zastosowania Programowanie jako sposób modelowania świata Zastosowanie Modelowane byty Modele dokumenty, towary, osoby oraz związki pomiędzy nimi Aplikacje w bazach danych Edytory tekstu lub HTML Program do projektowania CAD Program symulacyjny (np. do analizy pracy kas w hipermarkecie) Program obliczeniowy (np. do obliczeń inżynierskich) Program używający złożonych struktur danych Program z interfejsem okienkowym typu desktop dokumenty, rozdziały, akapity, ilustracje oraz ich wzajemne położenie punkty, wielokąty powierzchnie, bryły, zestawy brył klienci, wózki/koszyki, towary, kolejki do kas, kasy, CZAS (zegar) liczby zespolone, wektory, macierze stosy, listy, kolejki, drzewa binarne, grafy dokumenty i ich położenie na biurku rekordy w bazie danych, powiązania za pomocą kluczy obcych tablice znakowe (teksty), struktury danych opisujące ich położenie na stronie oraz formatowanie tablice liczbowe struktury danych połączone w listach i tablicach tablice liczbowe zmienne dynamiczne, listy i tablice zmiennych okno główne modelujące blat biurka, okna modelujące poszczególne dokumenty Obiekt = dane + specyficzne operacje na tych danych (metody) Klasa - typ danych określający dane składowe obiektu i sposób wykonywania operacji na nich Obiekt klasy == konkret klasy

9 Relacja pomiędzy klasą a obiektem - taka sama jak pomiędzy definicją typu a zmienną tego typu, np. typedef struct /* definicja typu dla liczb zespolonych */ double Re, double Im } Complex;... Complex c1, c2; /* deklaracja dwóch zmiennych zespolonych */ Przykład 1) - stos jako obiekt dane: tablica elementów stosu, maksymalna ilość elementów stosu, aktualna ilość elementów na stosie metody: inicjuj, skasuj cały stos, dodaj element do stosu, zdejmij element ze stosu, podaj ilość elementów na stosie Rozważyć możliwe metody implementacji. Przykład 2) - macierz jako obiekt dane: tablica liniowa zawierająca elementy macierzy, rozmiary n x m, wartość wyznacznika, flaga oznaczająca czy dla aktualnej postaci macierzy obliczono wyznacznik, metody: inicjuj na zadany rozmiar (n, m), odczytaj wartość z pozycji (i, j), wstaw wartość na pozycji (i, j), odczytaj wektor-wiersz (j) odczytaj wektor-kolumnę (i) dodaj/odejmij/pomnóż przez inną macierz (M), pomnóż przez wektor, oblicz wyznacznik, odwróć macierz, ustaw macierz jednostkową skasuj Przykład 3) - punkty i wielokąty Punkt 2D dane: współrzędna x współrzędna y

10 współrzędna w metody: ustaw współrzędną x/y, odczytaj współrzędną x/y przesuń o podany wektor (u, v) skaluj przez podany współczynnik, obróć wokół (0,0) o kąt a. Wielokąt 2D: dane: ilość wierzchołków, tablica lub lista wierzchołków, pole powierzchni, flaga oznaczająca czy pole powierzchni obliczone, metody: inicjuj jako trójkąt (p1, p2, p3) inicjuj jako pusty podaj tablicę wierzchołków, podaj ilość wierzchołków, dodaj wierzchołek po wskazanym (n, p), usuń wskazany wierzchołek (n) podaj pole powierzchni, przesuń o wektor (u, v), skaluj przez podany współczynnik (w), obróć wokół (0,0) o kąt a. Metodologie programowania Metodologia Struktury danych niestrukturalne typy proste, tablice typów prostych strukturalne obiektowe rekordy, zbiory, zagnieżdżanie typów j/w obiekty Konstrukcje programowe instrukcje proste, podprogramy instrukcje strukturalne, zagnieżdżanie procedur i funkcji metody obiektów Cechy łatwa implementacja, nieczytelność programów, trudności w modelowaniu czytelność programów, ułatwienie analizy programu, trudności w modelowaniu łatwość modelowania, Języki Assembler, Fortran Basic Pascal, C, PL/I Modula, C++, Java, Delphi-

11 przy nierozważnym użyciu - zmniejszenie czytelności i ryzyka błędów Pascal Dlaczego warto stosować styl obiektowy Aspekt projektowy: większe zbliżenie kodu do modelowanego fragmentu rzeczywistości, powiązanie danych i wykonywanych na nich operacji możliwość modelowania hierarchii obiektów i modelowania Aspekt programistyczny: możliwość ukrycia szczegółów implementacji - hermetyzacja, ograniczenie dostępności do składowych obiektu, możliwość zmiany sposobu implementacji bez zmiany interfejsu, zwiększenie czytelności zapisu poprzez jawne powiązanie danych z operacjami na nich Definiowanie klas w C++ Prototyp klasy (deklaracja) - specyfikacja danych i metod klasy Implementacja klasy (definicja) - kod metod klasy. Prototyp klasy x - w pliku x.h Implementacja klasy x - w pliku x.cpp Składnia definicji klasy w EBNF: <definicja klasy> ::= class <nazwa klasy> <sekcja>* }; <sekcja> ::= <kwalifikator dostępu><deklaracja składowej>* <kwalifikator dostępu> ::= public: private: protected: <deklaracja składowej> ::= <deklaracja danej>; <deklaracja metody>; <deklaracja metody> ::= <deklaracja funkcji> Kwalifikator dostępu - określa możliwość używania określonej składowej klasy: public - dostęp nieograniczony, private - dostęp tylko z metod tej klasy, protected - dostęp tylko z metod tej klasy i z metod klas dziedziczących od tej klasy. Po zdefiniowaniu nazwa klasy staje się typem zmiennych. Przykład: class Point2D private: double x;

12 double y; double w; int calc_dist_to_zero(); }; public: void set_x( double x_coord ); void set_y( double y_coord ); double get_x( void ); double dist_to_zero; Definiowanie metod klasy: <definicja metody> ::= <specyfikacja typu> <nazwa klasy> ::<nazwa metody> ( <parametry> ) <ciało metody> Jeśli metoda będzie zdefiniowana bezpośrednio w definicji klasy to zostanie uznana za metodę inline Przykład: double Point2D::get_x( void ) return x / w; } void Point2D::set_x( double x_coord ) x = x_coord * w; calc_dist_to_zero(); } Deklarowanie obiektów klasy (konkretów): <deklaracja obiektów> = <nazwa klasy> <nazwa obiektu>, ; Przykład: Point2D p1, p2, p3; // deklarowanie pojedynczych // obiektów Point2D points[10]; // deklarowanie tablicy obiektów Odwoływanie się do składowych klasy wewnątrz metod obiektu - bezpośrednio przez nazwę składowej spoza obiektu - przez podanie identyfikatora obiektu i nazwy składowej. p1.set_x( 10.3); x = p1.get_y();

13 dtz = p1.dist_to_zero; x = p1.x; // BŁĄD - składowa x jest prywatna for (i=0; i < 10; i++) points[i].set_x( 10.6); points[i].set_y( i ); distance_total += points[i].dist_to_zero; } Tworzenie dynamicznych obiektów w pamięci tworzenie obiektu w pamięci - operator new likwidacja obiektu - operator delete <deklaracja wskaźnika do obiektu> = <nazwa klasy> ( * <nazwa obiektu ), ; Point2D *p1, *p2, *p3; // deklaracja wskaźników do // trzech obiektów lub lepiej typedef Point2D *Point2DPtr Pointer2DPtr p1, p2, p3; Pointer2DPtr points[10]; // tablica 10 wskaznikow Pointer2DPtr p_10; // wskaznik na tablice 10 // obiektow Tworzenie obiektów: p1 = new Point2D; p2 = new Point2D; p3 = new Point2D; for (i = 0; i < 10; i++) points[i] = new Point2D; p_5 = new Point2D [ 10 ]; Odwoływanie się: p1->set_x( 10.3); x = p1->get_y(); dtz = p1->dist_to_zero; for (i=0; i < 10; i++) points[i]->set_x( 10.6); points[i]->set_y( i ); distance_total += points[i]->dist_to_zero; }

14 for (i=0; i < 10; i++) p_10[i].set_x( 10.6); p_10[i].set_y( i ); distance_total += p_10[i].dist_to_zero; } Kasowanie obiektów: delete p1; delete p2; delete p3; for (i=0; i < 10; i++) delete points[i]; } delete [] p_10; Konstruktory i destruktory konstruktor - metoda wywoływana automatycznie w momencie tworzenia obiektu używana do inicjalizacji danych obiektu. Cechy konstruktora: ma taką samą nazwę jak klasa, nie zwraca żadnej wartości. Przykład: class Point2D private: double x; double y; double w;... public: Point2D( void ); Point2D( double coord_x, double coord_y );... double dist_to_zero; }; Point2D::Point2D( void ) x = 0.0; y = 0.0; w = 1.0; dist_to_zero = 0.0; } Point2D::Point2D( double coord_x, double coord_y ) x := coord_x; y = coord_y; w = 1.0;

15 } dist_to_zero = sqrt(sqr(x) + sqr(y));... Point2D p1; // wywołuje pierwszy konstruktor Point2D p2(10.3, 4.5);// wywołuje drugi konstruktor Przy użyciu wartości domyślnych parametrów można te dwa konstruktory zastąpić jednym: Point2D::Point2D( double coord_x = 0.0, double coord_y = 0.0 ) x := coord_x; y = coord_y; w = 1.0; dist_to_zero = sqrt(sqr(x) + sqr(y)); } konstruktor domyślny - konstruktor, nie wymagający jawnego podawania parametrów aktualnych Konstruktory a tablice obiektów Jeśli istnieje konstruktor domyślny możliwa inicjalicacja tablicy obiektów w postaci Point2D points[3]; Jeśli konstruktor domyślny nie istnieje to należy podać jawnie parametry konstruktora: Point2D points[3] = Points2D(10.3, 15.7 ), Points2D( 8.1, 5.3 ), Points2D( 5.9, 1.7 ) }; Point2DPtr p1 = new Point2D( 10, ); Jeśli konstruktor domyślny nie istnieje to nie można alokować tablicy obiektów. destruktor - metoda wywoływana automatycznie w momencie gdy obiekt przestaje być dostępny, zwykle używana do zwalniania pamięci zaalokowanej przez obiekt Cechy destruktora: ma nazwę postaci ~XXX gdzie XXX jest nazwą klasy, nie przyjmuje parametrów i nie zwraca wartości, dla zadeklarowanych zmiennych obiektowych wywołuje się gdy zmienna przestaje być dostępna a dla zmiennych dynamicznych w momencie użycia operatora delete. Zadania do wykonania: 1. Napisać klasę i jej implementację modelującą stos

16 2. Napisać klasę (bez implementacji metod) do modelowania brył w 3D 3. Napisać klasę i jej implementację do wykonywania operacji algebraicznych na wektorach. 4. Napisać klasę i jej implementację do zarządzania zbiorem liczb naturalnych

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++

Programowanie obiektowo zorientowane. Mirosław Głowacki Wykład w języku C++ Programowanie obiektowo zorientowane Mirosław Głowacki Wykład w języku C++ Literatura B. Meyer, Programowanie zorientowane obiektowo, Helion Gliwice, 2005 J. Grębosz, Symfonia C++ Standard, Oficyna Kallimach,

Bardziej szczegółowo

Programowanie w języku C++ Podstawowe paradygmaty programowania

Programowanie w języku C++ Podstawowe paradygmaty programowania Programowanie w języku C++ Podstawowe paradygmaty programowania Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra

Bardziej szczegółowo

Języki i paradygmaty programowania. I. Wprowadzenie

Języki i paradygmaty programowania. I. Wprowadzenie Języki i paradygmaty programowania I. Wprowadzenie O źródłach wykład został przygotowany w ogromnej części w oparciu o serwis http://wazniak.mimuw.edu.pl/ (zgodnie z licencją serwisu) inne źródła: Wikipedia:

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO

Wstęp do programowania obiektowego. Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO Wstęp do programowania obiektowego Wykład 1 Algorytmy i paradygmaty Podstawowe pojęcia PO 1 Cele przedmiotu Zapoznanie z podstawowymi pojęciami oraz technikami programowania obiektowego na przykładzie

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami

Bardziej szczegółowo

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

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003

Bardziej szczegółowo

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

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie i usługi internetowe cz. 2 Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

Technologie cyfrowe semestr letni 2018/2019

Technologie cyfrowe semestr letni 2018/2019 Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 7 (08.04.2019) Wikipedia Programowanie komputerów proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka.

Wstęp do Programowania Obiektowego. Wykład 13 Paradygmaty. Składnia i semantyka. Wstęp do Programowania Obiektowego Wykład 13 Paradygmaty. Składnia i semantyka. 1 PRZEGLĄD PODSTAWOWYCH PARADYGMATÓW 2 Cztery podstawowe paradygmaty 1. Programowanie imperatywne. 2. Programowanie funkcyjne.

Bardziej szczegółowo

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

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

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego: Typy klasowe (klasy) 1. Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która definiuje programy za pomocą obiektów

Bardziej szczegółowo

Technologie cyfrowe semestr letni 2018/2019

Technologie cyfrowe semestr letni 2018/2019 Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 8 (15.04.2019) Kompilacja Kompilacja programu (kodu): proces tłumaczenia kodu napisanego w wybranym języku na kod maszynowy, zrozumiały

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 Materiały do wykładu

Bardziej szczegółowo

Style programowania - krótki przeglad

Style programowania - krótki przeglad Style programowania - krótki przeglad Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory,

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Klasy w C++

Zaawansowane programowanie w języku C++ Klasy w C++ Zaawansowane programowanie w języku C++ Klasy w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń

Bardziej szczegółowo

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

Bardziej szczegółowo

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

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium: Zakres laboratorium: definiowanie struktur terminologia obiektowa definiowanie klas funkcje składowe klas programy złożone z wielu plików zadania laboratoryjne Laboratorium nr 12 Temat: Struktury, klasy.

Bardziej szczegółowo

Materiały do zajęć VII

Materiały do zajęć VII Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja

Bardziej szczegółowo

Wstęp do programowania obiektowego. Wykład 2

Wstęp do programowania obiektowego. Wykład 2 Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe

Bardziej szczegółowo

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego

Bardziej szczegółowo

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

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013 Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu obowiązuje studentów rozpoczynających studia w roku akademickim 01/013 Wydział Fizyki, Matematyki i Informatyki Kierunek studiów: Informatyka

Bardziej szczegółowo

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

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Style programowania - krótki przeglad

Style programowania - krótki przeglad Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.

Bardziej szczegółowo

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

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu obowiązuje w roku akademickim 01/013 Kierunek studiów: Informatyka Forma studiów: Stacjonarne Profil:

Bardziej szczegółowo

Wykład 0 Informacje Podstawowe

Wykład 0 Informacje Podstawowe Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

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

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 O mnie prowadzący wykład: Dariusz Wardowski pokój: A334 dyżur: środa, godz. 10.00 12.00 e-mail: wardd@math.uni.lodz.pl

Bardziej szczegółowo

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

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Definiowanie własnych klas

Definiowanie własnych klas Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Wykład 9: Polimorfizm i klasy wirtualne

Wykład 9: Polimorfizm i klasy wirtualne Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm

Bardziej szczegółowo

Podstawy programowania obiektowego

Podstawy programowania obiektowego Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie

Bardziej szczegółowo

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

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki Studia Podyplomowe INFORMATYKA Podstawy Informatyki Wykład V Rzut okiem na języki programowania 1 Kompilacja vs. interpretacja KOMPILACJA Proces, który przetwarza program zapisany w języku programowania,

Bardziej szczegółowo

Historia modeli programowania

Historia modeli programowania Języki Programowania na Platformie.NET http://kaims.eti.pg.edu.pl/ goluch/ goluch@eti.pg.edu.pl Maszyny z wbudowanym oprogramowaniem Maszyny z wbudowanym oprogramowaniem automatyczne rozwiązywanie problemu

Bardziej szczegółowo

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

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Programowanie obiektowe. Wprowadzenie

Programowanie obiektowe. Wprowadzenie 1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Aplikacje w środowisku Java

Aplikacje w środowisku Java Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt

Bardziej szczegółowo

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

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem. Podstawy programowania Wykład PASCAL Wstęp do programowania obiektowego 1 Programowanie obiektowe - definicja Programowanie obiektowe paradygmat programowania, w którym programy definiuje się za pomocą

Bardziej szczegółowo

Java EE produkcja oprogramowania

Java EE produkcja oprogramowania Java EE produkcja oprogramowania PPJ PODSTAWY PROGRAMOWANIA W JAVIE PODSTAWY JĘZYKA JAVA 1 Warszawa, 2016Z 2 Ogólna charakterystyka języka Java 3 Java 1/2 Język programowania Java został opracowany przez

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu. Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

Bardziej szczegółowo

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Java - tablice, konstruktory, dziedziczenie i hermetyzacja Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja

Bardziej szczegółowo

C++ - [4-7] Polimorfizm

C++ - [4-7] Polimorfizm Slajd 1 z 14 C++ - [4-7] Polimorfizm Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 20 maja 2013 r. Slajd 2 z 14 Polimorfizm i klasa polimorficzna POLIMORFIZM (cytat z Wikipedii) (wielopostaciowość)

Bardziej szczegółowo

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory.

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Konstruktory Konstruktory w językach obiektowych są to specjalne metody wywoływane podczas tworzenia nowego obiektu i służące do

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Literatura David Harel. Rzecz o istocie informatyki. Algorytmika. Wydawnictwa Naukowo-Techniczne. Wydanie trzecie. Seria: Klasyka informatyki. Warszawa 2000. Niklaus Wirth. Algorytmy

Bardziej szczegółowo

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Do czego służą klasy?

Do czego służą klasy? KLASY Dorota Pylak 2 Do czego służą klasy? W programowaniu obiektowym posługujemy się obiektami. Obiekty charakteryzują się: cechami (inaczej - atrybutami lub stanami) operacjami, które na nich można wykonywać

Bardziej szczegółowo

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne

Bardziej szczegółowo

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

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? 1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 2

PARADYGMATY PROGRAMOWANIA Wykład 2 PARADYGMATY PROGRAMOWANIA Wykład 2 Definiowanie klas w C++ - ciąg dalszy Lista inicjalizująca konstruktora Przeznaczenie - do inicjalizacji pól klasy z kwalifikatorem const i inicjalizacji obiektów składowych

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

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

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Programowanie obiektowe W1 Wprowadzenie Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Ogólna charakterystyka języka C++ C++ jest obiektowym językiem programowania,

Bardziej szczegółowo

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

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to

Bardziej szczegółowo

Wstęp do Programowania 2

Wstęp do Programowania 2 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:

Bardziej szczegółowo

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

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Programowanie komputerów 2 Nazwa modułu w języku angielskim Computer programming

Bardziej szczegółowo

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++ Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Chemia, poziom pierwszy Sylabus modułu: Laboratorium programowania (0310-CH-S1-019) Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Język C++ Programowanie obiektowe

Język C++ Programowanie obiektowe Język C++ Programowanie obiektowe Cechy programowania obiektowego abstrakcyjne typy danych hermetyczność obiektów (kapsułkowanie) dziedziczenie polimorfizm Programowanie proceduralne vs. programowanie

Bardziej szczegółowo

Materiały do laboratorium MS ACCESS BASIC

Materiały do laboratorium MS ACCESS BASIC Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I

Bardziej szczegółowo

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Szablony funkcji i szablony klas

Szablony funkcji i szablony klas Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument

Bardziej szczegółowo

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

Programowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Wirtualne destruktory class A int* a; A(int _a) a = new int(_a);} virtual ~A() delete a;} class B: public A double* b;

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static), Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których

Bardziej szczegółowo

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++ Jednostka prowadząca: Wydział Techniczny Kierunek studiów: Elektronika i telekomunikacja Nazwa przedmiotu: Język programowania C++ Charakter przedmiotu: podstawowy, obowiązkowy Typ studiów: inŝynierskie

Bardziej szczegółowo

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Programowanie obiektowe Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt Operator new, new[] Operator new oraz new[] służy do rezerwacji obszarów z zapasie pamięci

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Wykład 1 21 lutego 2019 Plan wykładu 1 Opis wykładu Zaliczenie i egzamin Literatura 2 3 Modelowanie obiektowe Abstrakcja Hermetyzacja Dziedziczenie Polimorfizm 4 Opis wykładu Zaliczenie i egzamin Literatura

Bardziej szczegółowo

Szablony klas, zastosowanie szablonów w programach

Szablony klas, zastosowanie szablonów w programach Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do

Bardziej szczegółowo