Wstęp do Programowania 2
|
|
- Gabriel Józef Sowa
- 6 lat temu
- Przeglądów:
Transkrypt
1 Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5
2 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu: Jak najlepiej opisać (zdefiniować) dany obiekt. Jakich danych potrzeba, aby poprawnie zdefiniować dany obiekt. Jakich operacji (metod) wymaga praca z danym obiektem.
3 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu: Jak najlepiej opisać (zdefiniować) dany obiekt. Jakich danych potrzeba, aby poprawnie zdefiniować dany obiekt. Jakich operacji (metod) wymaga praca z danym obiektem. Abstrakcja Abstrakcja w informatyce stanowi klucz do reprezentowania informacji w kategoriach interfejsu użytkownika.
4 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu: Jak najlepiej opisać (zdefiniować) dany obiekt. Jakich danych potrzeba, aby poprawnie zdefiniować dany obiekt. Jakich operacji (metod) wymaga praca z danym obiektem. Abstrakcja Abstrakcja w informatyce stanowi klucz do reprezentowania informacji w kategoriach interfejsu użytkownika. Klasa Klasa to narzędzie, za pomoca któregow C++ tłumaczy się abstrakcje na typ użytkownika. Jest opakowaniem łacz acym reprezentacje danych z metodami ich przetwarzania.
5 Specyfikacja klasy składa sie z dwóch części: Deklaracji klasy - opisuje dane (w kategoriach zmiennych składowych) oraz interface publiczny (w kategoriach funkcji składowych). Definicji metod klasy - opisuj a implementację funkcji składowych klasy.
6 Deklaracja - schemat class NazwaTypu { // ciało klasy - tu deklaruje się // składniki klasy ; // koniecznie średnik!!!
7 Deklaracja - klasa Punkt class Punkt { private: int x, y; public: void inicjalizuj(int wspx, int wspy); void przesun(int deltax, int deltay); void wypisz(); ;
8 Słowa kluczowe: public i private Słowa kluczowe public i private opisuja tryb dostępu do składowych klasy. Każdy program używajacy obiektu danej klasy ma bezpośredni dostęp do jej części publicznej. Do prywatnych składowych obiektu program może uzyskać dostęp wyłacznie za pośrednictwem publicznych funckji składowych, albo przy pomocy funkcji zaprzyjaźnionych (o nich później :)).
9 int main() { int x, y; cout << "Podaj wspolrzedne punktu (x,y): "; cin >> x >> y; Punkt A, B; A.inicjalizuj(x, y); B.inicjalizuj(3, 4); cout << "Oto punkt: A"; A.wypisz(); cout << "Oto punkt: B"; B.wypisz(); cout << "Przesuwamy punkt A o wektor [2, 4]" << endl; A.przesun(2, 4); cout << "Obecnie punkt A ma wspolrzedne: A"; A.wypisz(); cout << "O ile przesunac punkt B? "; cin >> x >> y; cout << "Punkt B przesuwamy o wektor [" << x << ", " << y << "]" << endl; B.przesun(x, y); cout << "Obecnie punkt B ma wspolrzedne: B"; B.wypisz(); return 0;
10 Publiczne funkcje składowe pośrednicz a między programem a prywatnymi składowymi obiektu. Taka ochrona danych nosi nazwę ukrywania danych.
11 Publiczne funkcje składowe pośrednicz a między programem a prywatnymi składowymi obiektu. Taka ochrona danych nosi nazwę ukrywania danych. Gromadzenie szczegółów implementacyjnych i odzielanie ich od abstrakcji (interfejsu publicznego) nosi nazwę hermetyzacji.
12 Publiczne funkcje składowe pośrednicz a między programem a prywatnymi składowymi obiektu. Taka ochrona danych nosi nazwę ukrywania danych. Gromadzenie szczegółów implementacyjnych i odzielanie ich od abstrakcji (interfejsu publicznego) nosi nazwę hermetyzacji. Składowe klasy (elementy danych, funkcje) można deklarować w publicznej lub prywatnej części klasy.
13 Publiczne funkcje składowe pośrednicza między programem a prywatnymi składowymi obiektu. Taka ochrona danych nosi nazwę ukrywania danych. Gromadzenie szczegółów implementacyjnych i odzielanie ich od abstrakcji (interfejsu publicznego) nosi nazwę hermetyzacji. Składowe klasy (elementy danych, funkcje) można deklarować w publicznej lub prywatnej części klasy. Z uwagi na podstawowe założenia programowania obiektowego (ukrywanie danych), elementy danych (pola składowe) zwykle trafiaja do części prywatnej.
14 Publiczne funkcje składowe pośrednicza między programem a prywatnymi składowymi obiektu. Taka ochrona danych nosi nazwę ukrywania danych. Gromadzenie szczegółów implementacyjnych i odzielanie ich od abstrakcji (interfejsu publicznego) nosi nazwę hermetyzacji. Składowe klasy (elementy danych, funkcje) można deklarować w publicznej lub prywatnej części klasy. Z uwagi na podstawowe założenia programowania obiektowego (ukrywanie danych), elementy danych (pola składowe) zwykle trafiaja do części prywatnej. Ponieważ funckje składowe tworza interface klasy, to powinny się znajdować w części publicznej; w przeciwnym razie program nie mógłby ich wywoływać.
15 Publiczne funkcje składowe pośrednicza między programem a prywatnymi składowymi obiektu. Taka ochrona danych nosi nazwę ukrywania danych. Gromadzenie szczegółów implementacyjnych i odzielanie ich od abstrakcji (interfejsu publicznego) nosi nazwę hermetyzacji. Składowe klasy (elementy danych, funkcje) można deklarować w publicznej lub prywatnej części klasy. Z uwagi na podstawowe założenia programowania obiektowego (ukrywanie danych), elementy danych (pola składowe) zwykle trafiaja do części prywatnej. Ponieważ funckje składowe tworza interface klasy, to powinny się znajdować w części publicznej; w przeciwnym razie program nie mógłby ich wywoływać. Domyślnym trybem dostępu jest tryb prywatny, zatem nie musimy używać słowa kluczowego private.
16 class Punkt { int x, y; public: void inicjalizuj(int wspx, int wspy); void przesun(int deltax, int deltay); void wypisz(); ;
17 Klasy i struktury Opis klasy wyglada jak deklaracja struktury z dodatkiem funkcji składowych i trybów dostępu. Ale, C++ daje te same możliwości strukturom, co klasom. Jedyna różnica to: w strukturze domyślnym trybem jest tryb publiczny, a w klasie tryb prywatny.
18 Funkcje składowe klasy Definicja funkcji składowej, to definicja zwykłej funkcji, ale posiada dwie dodatkowe cechy: Stosowany jest operator zasięgu (::), aby zdefiniować klasę, do której funkcja należy. Funkcja składowa (metoda) ma dostęp do prywanych danych klasy.
19 Klasa Punkt - definicje metod void Punkt::inicjalizuj(int wspx, int wspy) { x = wspx; y = wspy; void Punkt::przesun(int deltax, int deltay) { x += deltax; y += deltay; void Punkt::wypisz() { cout << "(" << x << ", " << y << ")\r\n";
20 Klasa Punkt3d class Punkt3d { int x, y,z; public: void inicjalizuj(int wspx, int wspy, int wspz); void przesun(int deltax, int deltay, int deltaz); void wypisz(); ;
21 Klasa Punkt3d - definicje metod void Punkt3d::inicjalizuj(int wspx, int wspy, int wspz) { x = wspx; y = wspy; z = wspz; void Punkt3d::przesun(int deltax, int deltay, int deltaz) { x += deltax; y += deltay; z += deltaz; void Punkt3d::wypisz() { cout << "(" << x << ", " << y << ", " << z << ")\r\n";
22 Metody wplatane Każda funkcja zdefiniowana w deklaracji klasy automatycznie staje się funkcja wplatana. Można też zdefiniować funkcję wplatana poza deklaracja klasy; w tym celu należy użyć kwalifikatora inline. Specjalne reguły zwiazane z funkcjami wplatanymi wymagaja zdefiniowania ich w każdym pliku, w którym sa wywoływane. Aby zatem udostępnić funkcje wplatane, najlepiej dostarczyć je wraz z interfejsem klasy.
23 Metody wplatane - przykład class Punkt3d { int x, y,z; public: void inicjalizuj(int wspx, int wspy, int wspz){ x = wspx; y = wspy; z = wspz; void przesun(int deltax, int deltay, int deltaz); void wypisz(); ;
24 class Punkt3d { int x, y,z; public: void inicjalizuj(int wspx, int wspy, int wspz); void przesun(int deltax, int deltay, int deltaz); void wypisz(); ; inline void Punkt3d::inicjalizuj(int wspx, int wspy, int wspz){ x = wspx; y = wspy; z = wspz;
25 Obiekty Każdy nowo utworzony obiekt zawiera przestrzeń na wewnetrzne zmienne - dane składowe. Wszystkie obiekty tej samej klasy współdziel a jeden zbior metod.
26 int main() { int x, y, z; cout << "Podaj wspolrzedne punktu (x,y,z): "; cin >> x >> y >> z; Punkt A, B; A.inicjalizuj(x, y, y); B.inicjalizuj(3, 4, 5); cout << "Oto punkt: A"; A.wypisz(); cout << "Oto punkt: B"; B.wypisz(); return 0;
27 Konstruktory Konstruktory klasy służa do konstruowania nowych obiektów i przypisywania wartości ich danym składowym. Nazwa konstruktora jest taka sama jak nazwa klasy. Konstruktor nie zwraca wartości i nie definiuje się jego typu. Dzięki przeci ażaniu funkcji można utworzyć kilka konstruktorów - oczywiście pod warunkiem, że każdy będzie miał inna sygnaturę.
28 Przykład definicji class Punkt { private: int x, y; public: Punkt(int wspx, int wspy); // void przesun(int deltax, int deltay); void wypisz(); ; Punkt::Punkt(int wspx, int wspy){ x = wspx; y = wspy; void Punkt::wypisz() { cout << "(" << x << ", " << y << ")\r\n";
29 Przykład użycia konstruktora int main() { int x, y; cout << "Podaj wspolrzedne punktu (x,y): \n x = "; cin >> x ; cout << "y = "; cin >> y; Punkt A = Punkt(x, y), B = Punkt(3, 4); cout << "Oto punkt: A"; A.wypisz(); cout << "Oto punkt: B"; B.wypisz(); return 0;
30 Przykład użycia konstruktora int main() { int x, y; cout << "Podaj wspolrzedne punktu (x,y): \n x = "; cin >> x ; cout << "y = "; cin >> y; Punkt A(x, y), B(3, 4); cout << "Oto punkt: A"; A.wypisz(); cout << "Oto punkt: B"; B.wypisz(); return 0;
31 Przykład użycia konstruktora int main() { int x, y; cout << "Podaj wspolrzedne punktu A: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *A = new Punkt(x, y); cout << "Oto punkt: A"; A->wypisz(); cout << "Podaj wspolrzedne punktu B: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *B = new Punkt(x, y); cout << "Oto punkt: B"; B->wypisz(); delete A; delete B; return 0;
32 Konstruktor domyślny Konstruktor domyślny jest używany do utworzenia obiektu wtedy, gdy nie podamy wartości inicjalizujacych, np. Punkt A; Kompilator tworzy konstruktor domyślny tylko wtedy, gdy nie zdefiniujemy żadnych własnych konstruktorów. Zdefiniowanie dowolnego konstruktora wymaga zdefiniowania rownież konstruktora domyślnego. Inaczej instrukcja typu: Punkt A; bedzie powodowała bład.
33 Konstruktor domyślny - przykład #include <iostream> using namespace std; class Punkt { private: int x, y; public: Punkt(); Punkt(int wspx, int wspy); void wypisz(); ; Punkt::Punkt(){x = 0; y = 0; Punkt::Punkt(int wspx, int wspy){ x = wspx; y = wspy; void Punkt::wypisz() { cout << "(" << x << ", " << y << ")\r\n";
34 Konstruktor domyślny - przykład #include <iostream> using namespace std; class Punkt { private: int x, y; public: Punkt(int wspx=0, int wspy=0); void wypisz(); ; Punkt::Punkt(int wspx, int wspy){ x = wspx; y = wspy; void Punkt::wypisz() { cout << "(" << x << ", " << y << ")\r\n";
35 Konstruktor domyślny - przykład int main() { int x, y; Punkt C; C.wypisz(); cout << "\npodaj wspolrzedne punktu A: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *A = new Punkt(x, y); cout << "Oto punkt: A"; A->wypisz(); cout << "Podaj wspolrzedne punktu B: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *B = new Punkt(x, y); cout << "Oto punkt: B"; B->wypisz(); delete A; delete B; return 0;
36 Destruktory Kiedy używamy konstruktora do utworzenia obiektu, program śledzi ten obiekt aż do momentu jego wygaśnięcia. Gdy to nastapi, wywołuje specjalna funkcje zwana destruktorem. Jeśli w konstruktorze używamy, np. operatora new, to w destruktorze powinniśmy użyć operatora delete, aby zwolnić przydzielona pamięć. Destruktor nazywa się tak jak klasa, ale dodatkowo nazwa ta poprzedzona jest znakiem tyldy ( ). Podobnie jak konstruktor nie ma wartości zwrotnej, ani deklarowanego typu. Nie posiada argumentów.
37 Destruktory - przykład #include <iostream> using namespace std; class Punkt { private: int x, y; public: // konstruktor Punkt(int wspx=0, int wspy=0); void wypisz(); //destruktor ~Punkt(){; ;
38 Rozważmy program: #include <iostream> using namespace std; class Punkt { private: int x, y; public: Punkt(int wspx=0, int wspy=0); void wypisz(); ~Punkt(){; ; Punkt::Punkt(int wspx, int wspy){ x = wspx; y = wspy; void Punkt::wypisz(){ cout << "(" << x << ", " << y << ")\r\n";
39 int main() { int x, y; cout << "\npodaj wspolrzedne punktu A: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *A = new Punkt(x, y); cout << "Oto punkt: A"; A->wypisz(); cout << "Podaj wspolrzedne punktu B: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; const Punkt B(x,y) ; B.wypisz(); delete A; return 0;
40 Wynik: g++ punkt_5.cpp punkt_5.cpp: In function int main() : punkt_5.cpp:33: error: passing const Punkt as this argument of void Punkt::wypisz() discards qualifiers
41 Rozwiazanie #include <iostream> using namespace std; class Punkt { private: int x, y; public: Punkt(int wspx=0, int wspy=0); void wypisz() const; ~Punkt(){; ; Punkt::Punkt(int wspx, int wspy){ x = wspx; y = wspy; void Punkt::wypisz() const{ cout << "(" << x << ", " << y << ")\r\n";
42 Niejawny this #include <iostream> using namespace std; class Punkt { private: int x, y; public: Punkt(int wspx=0, int wspy=0); void wypisz() const; bool rowne(const Punkt& ); ~Punkt(){; ; Punkt::Punkt(int wspx, int wspy){ x = wspx; y = wspy; void Punkt::wypisz() const{ cout << "(" << x << ", " << y << ")\r\n"; bool Punkt::rowne(const Punkt& A){ if ((A.x == x) && (A.y == y)) return true; else return false;
43 Jawny this #include <iostream> using namespace std; class Punkt { private: int x, y; public: Punkt(int wspx=0, int wspy=0); void wypisz() const; bool rowne(const Punkt& ); ~Punkt(){; ; Punkt::Punkt(int wspx, int wspy){ x = wspx; y = wspy; void Punkt::wypisz() const{ cout << "(" << x << ", " << y << ")\r\n"; bool Punkt::rowne(const Punkt& A){ if ((A.x == this->x) && (A.y == this->y)) return true; else return false;
44 Użycie klasy int main() { int x, y; cout << "\npodaj wspolrzedne punktu A: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *A = new Punkt(x, y); cout << "Oto punkt: A"; A->wypisz(); cout << "Podaj wspolrzedne punktu B: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *B = new Punkt(x, y); cout << "Oto punkt: B"; B->wypisz(); if ( (A->rowne(*B)) == true) cout<< "Punkty są identyczne! \n"; else cout<< "Punkty są różne! \n"; delete A; delete B; return 0;
45 Użycie klasy Podaj wspolrzedne punktu A: x = 1 y = 1 Oto punkt: A(1, 1) Podaj wspolrzedne punktu B: x = 1 y = 1 Oto punkt: B(1, 1) Punkty są identyczne!
46 Użycie klasy Podaj wspolrzedne punktu A: x = 1 y = 1 Oto punkt: A(1, 1) Podaj wspolrzedne punktu B: x = 2 y = 2 Oto punkt: B(2, 2) Punkty są różne!
47 Użycie klasy #include <iostream> using namespace std; class Punkt { private: int x, y; public: Punkt(int wspx=0, int wspy=0); void wypisz() const; bool rowne(const Punkt& ); const Punkt& wyzej(const Punkt& ); ~Punkt(){; ; Punkt::Punkt(int wspx, int wspy){x = wspx; y = wspy; void Punkt::wypisz() const{ cout << "(" << x << ", " << y << ")\r\n"; bool Punkt::rowne(const Punkt& A){ if ((A.x == this->x) && (A.y == this->y)) return true; else return false; const Punkt& Punkt::wyzej(const Punkt& A){ if ((A.y < y)) return *this; else return A;
48 Użycie klasy int main() { int x, y; cout << "\npodaj wspolrzedne punktu A: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *A = new Punkt(x, y); cout << "Oto punkt: A"; A->wypisz(); cout << "Podaj wspolrzedne punktu B: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Punkt *B = new Punkt(x, y); cout << "Oto punkt: B"; B->wypisz(); if ( A->rowne(*B)) cout<< "Punkty są identyczne! \n"; else cout<< "Punkty są różne! \n"; //Domyślny konstruktor kopiujacy. Punkt C = A->wyzej(*B); if ( C.rowne(*A) ) cout<< "A lezy wyżej niż B! \n"; else cout<< "B lezy wyżej niż A! \n"; delete A; delete B; return 0;
49 Przyklad 1 Uwaga! Jeśli chcemy tworzyć tablice obiektów danej klasy, to musi być zdefiniowany konstruktor domyślny. int main() { Punkt Tab[4]; int x, y; for (int i=0 ; i<4 ; i++ ) { cout << "\npodaj wspolrzedne punktu: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Tab[i]=Punkt(x, y); for (int i=0 ; i<4 ; i++ ) { cout << "Oto punkt Tab["<< i << "] : "; Tab[i].wypisz(); return 0;
50 Przyklad 2 int main() { Punkt *Tab = new Punkt[4]; int x, y; for (int i=0 ; i<4 ; i++ ) { cout << "\npodaj wspolrzedne punktu: \n"; cout << "x = "; cin >> x ; cout << "y = "; cin >> y; Tab[i]=Punkt(x, y); for (int i=0 ; i<4 ; i++ ) { cout << "Oto punkt Tab["<< i << "] : "; Tab[i].wypisz(); delete []Tab; return 0;
wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoDo 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ółowoW2 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ółowoProgramowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoProgramowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoProgramowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)
Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006) Część 1. Teoria Wyjaśnij pojęcia, podaj przykład: klasa obiekt konstruktor destruktor kapsułkowanie (hermetyzacja) wskaźnik this
Bardziej szczegółowoProgramowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody
Programowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
Bardziej szczegółowoPlik klasy. h deklaracje klas
Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni
Bardziej szczegółowoPodstawy 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ółowoProgramowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 10 I 2012 1 Zabronienie kopiowania Czasami nie ma sensu, żeby obiekty pewnego typu były kopiowane z innych obiektów.
Bardziej szczegółowoProgramowanie obiektowe w języku C++ dr inż. Jarosław Forenc
Rok akademicki 2016/2017, Wykład nr 4 2/45 Plan wykładu nr 4 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017
Bardziej szczegółowoWstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoProgramowanie obiektowe w C++ Wykład 12
Programowanie obiektowe w C++ Wykład 12 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) 1 / 22 Zakresowe pętle for double tab[5] {1.12,2.23,3.33,4.12,5.22 for(double x: tab)
Bardziej szczegółowoProgramowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 6.11.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 6.11.2006 1 / 138 Operator przypisania Jest czym innym niż konstruktor kopiujacy!
Bardziej szczegółowoSkładnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Pojęcie struktury i klasy. Konstruktor i destruktor. Spotkanie 08 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Spotkanie 08 Klasy: definicja a deklaracja klasy dane składowe
Bardziej szczegółowo1. 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ółowoclass Student Deklaracja klasy Osoba: Deklaracja klasy Student:
Osoba Student Będziemy mieli 2 klasy: Osoba, dla której zapamiętamy dane takie jak: imie, nazwisko i wiek Oraz klasę Student, w której będziemy też dodatkowo pamiętać kierunek studiów. Deklaracja klasy
Bardziej szczegółowoWykł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ółowoWykł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ółowoPARADYGMATY 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ółowoJęzyk C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
Bardziej szczegółowoProgramowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Przydzielanie pamięci Poniżej przedstawiono w C++ dwie klasy obrazujące sposób rezerwacji pamięci. class Osoba char imie[30];
Bardziej szczegółowoWstę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 8 Przykład realizowany na wykładzie Klasy StringBad i String. Wstępne pliki załaczone jako źródła.
Bardziej szczegółowoProjektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
Bardziej szczegółowoJę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ółowoProgramowanie obiektowe, wykład nr 6. Klasy i obiekty
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto
Bardziej szczegółowoTechniki 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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoTEMAT : KLASY POLIMORFIZM
TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie
Bardziej szczegółowoWykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład V - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Programowanie obiektowe Dziedziczenie (inheritance) - mechanizm
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Bardziej szczegółowoKonstruktor kopiujacy
Konstruktor kopiujacy 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. Jest on udostępniony
Bardziej szczegółowoProgramowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 22 XI 2011 Uwaga! Ponieważ już sobie powiedzieliśmy np. o wskaźnikach i referencjach, przez które nie chcemy przegrzebywać
Bardziej szczegółowoWprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).
Wprowadzenie w dziedziczenie Klasa D dziedziczy klasę B: B klasa bazowa D klasa pochodna Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Najpierw jest tworzona klasa bazowa,
Bardziej szczegółowoDo 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ółowoJę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ółowoProgramowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 7 Przegląd typów strukturalnych - klasy i obiekty - c.d. Klasa - powtórzenie
Bardziej szczegółowoKLASY cz.1. Dorota Pylak
KLASY cz.1 Dorota Pylak Do czego służą klasy? 2 W programowaniu obiektowym posługujemy się obiektami. Obiekty charakteryzują się: cechami (inaczej - atrybutami lub stanami) operacjami, które na nich można
Bardziej szczegółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część siódma Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoPARADYGMATY 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ółowoProgramowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowopublic: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Bardziej szczegółowoLaboratorium 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ółowoKlasa 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ółowoWstęp do programowania
wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31
Programowanie w C++ Wykład 8 Katarzyna Grzelak 7 maja 2018 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31 STL - powtórzenie STL Standard Template Libarary standardowa biblioteka szablonów Składowe biblioteki:
Bardziej szczegółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoSzablony 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ółowoParadygmaty programowania. Paradygmaty programowania
Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................
Bardziej szczegółowoSkładnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013 Wykład nr 6 (07.12.2012) dr inż. Jarosław Forenc Rok
Bardziej szczegółowoTEMAT : 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ółowoOperacje wejścia/wyjścia (odsłona druga) - pliki
Operacje wejścia/wyjścia (odsłona druga) - pliki 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
Bardziej szczegółowoInformacje 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ółowoProgramowanie 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ółowoMateriał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ółowoOperator przypisania. Jest czym innym niż konstruktor kopiujący!
Operator przypisania Jest czym innym niż konstruktor kopiujący! Domyślnie jest zdefiniowany jako przypisanie składowa po składowej (zatem niekoniecznie bajt po bajcie). Dla klasy X definiuje się jako X&
Bardziej szczegółowoIMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Bardziej szczegółowoALGORYTMY I STRUKTURY DANYCH
Akademia Rolnicza im. Augusta Cieszkowskiego w Poznaniu - Instytut Inżynierii Rolniczej - ALGORYTMY I STRUKTURY DANYCH Prowadzący: dr inż. Radosław J. Kozłowski email: rjk@au.poznan.pl www: http://www.au.poznan.pl/~rjk
Bardziej szczegółowoKLASY cz4. Dorota Pylak. destruktory składowe statyczne przeciążanie operatorów. wskaźniki
KLASY cz4. destruktory składowe statyczne przeciążanie operatorów Dorota Pylak wskaźniki 2 Klasy - podsumowanie poznanych wiadomości Deklaracja klasy może zawierać pola, konstruktory oraz metody. W deklaracji
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
Bardziej szczegółowoProgramowanie obiektowe język C++
Programowanie obiektowe język C++ Dr inż. Sławomir Samolej D108A, tel: 865 1486, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Podziękowanie: Chcę podziękować dr inż.. Grzegorzowi Hałdasiowi
Bardziej szczegółowoProgramowanie obiektowe i C++ dla matematyków
Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 8 XI 2 1 Sposoby przekazywania argumentów Powiedzmy, że chcemy napisać funkcję, która zamieni miejscami wartość dwóch
Bardziej szczegółowoProgramowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26
Programowanie w C++ Wykład 13 Katarzyna Grzelak 4 czerwca 2018 K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoWykł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ółowoPARADYGMATY 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ółowoMechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Bardziej szczegółowoZaawansowane programowanie w języku C++ Programowanie obiektowe
Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoStrona 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ółowoDariusz 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ółowoPodstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 13 1 KLASY A ZASŁANIANIE NAZW Nazwy danych składowych i funkcji składowych mają zakres klasy, więc w obrębie klasy zasłaniają takie same nazwy spoza
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 9.
9.1 Ukrywanie metod, metody nadpisane... 1 9.2 Metody wirtualne, wirtualny destruktor... 2 9.3 Metody czysto wirtualne... 6 9.4 Klasy abstrakcyjne... 7 9.5 Wielodziedziczenie... 9 9.1 Ukrywanie metod,
Bardziej szczegółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dziedziczenie Przestrzenie nazw Na podstawie: A.
Bardziej szczegółowoProgramowanie 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ółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor
Bardziej szczegółowoTechniki Programowania wskaźniki
Techniki Programowania wskaźniki Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Wskaźniki Dla typu T zapis T* oznacza
Bardziej szczegółowoListy powiązane zorientowane obiektowo
Listy powiązane zorientowane obiektowo Aby zilustrować potęgę polimorfizmu, przeanalizujmy zorientowaną obiektowo listę powiązaną. Jak zapewne wiesz, lista powiązana jest strukturą danych, zaprojektowaną
Bardziej szczegółowo2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
Bardziej szczegółowoProgramowanie Obiektowew języku C++ Zadania L4
Programowanie Obiektowew języku C++ Zadania L4 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoRzutowanie i konwersje
Rzutowanie i konwersje Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoJzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )
Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,
Bardziej szczegółowoWstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Bardziej szczegółowoZaawansowane 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ółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoWykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
Bardziej szczegółowoObiekt 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ółowoWykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 4. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przeciążanie operatorów Funkcje zaprzyjaźnione Na
Bardziej szczegółowo