Programowanie komputerowe. Zajęcia 7

Podobne dokumenty
Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

TEMAT : KLASY DZIEDZICZENIE

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

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Struktury Struktura polami struct struct struct struct

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.

Podstawy Programowania Obiektowego

Mechanizm dziedziczenia

Do czego służą klasy?

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

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Do czego służą klasy?

Pola i metody statyczne

KLASY cz.1. Dorota Pylak

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

Programowanie 2. Język C++. Wykład 3.

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Przypomnienie o klasach i obiektach

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

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

Podstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm

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

Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

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

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26

Mechanizm dziedziczenia

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

Rozdział 4 KLASY, OBIEKTY, METODY

Programowanie obiektowe

Programowanie, część I

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

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

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Wstęp do Programowania 2

Podstawy programowania obiektowego

Materiały do zajęć VII

Technologie i usługi internetowe cz. 2

C-struktury wykład. Dorota Pylak

Programowanie strukturalne i obiektowe. Funkcje

Programowanie - wykład 4

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31

Deklaracja struktury w C++

C++ - [4-7] Polimorfizm

Programowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura

Programowanie obiektowe

PARADYGMATY PROGRAMOWANIA Wykład 4

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

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50.

Różne właściwości. Różne właściwości. Różne właściwości. C++ - klasy. C++ - klasy C++ - KLASY

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

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

Enkapsulacja, dziedziczenie, polimorfizm

Wykład 8: klasy cz. 4

C-struktury wykład. Dorota Pylak

Klasa, metody, rozwijanie w linii

Programowanie obiektowe i zdarzeniowe

Programowanie komputerowe. Zajęcia 2

Informatyka II Laboratorium 3 : Programowania obiektowe C++ - dziedziczenie

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Operator przypisania. Jest czym innym niż konstruktor kopiujący!

Definiowanie własnych klas

Podstawy Języka Java

Programowanie Obiektowe i C++

Dokumentacja do API Javy.

Język C++ zajęcia nr 2

Algorytmy i język C++

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

OBIEKTY PHP. G. Panuś

class Student Deklaracja klasy Osoba: Deklaracja klasy Student:

Wprowadzenie do szablonów szablony funkcji

Technologie obiektowe

PARADYGMATY PROGRAMOWANIA Wykład 2

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

Języki i metody programowania Java Lab2 podejście obiektowe

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

Ję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.

Wprowadzenie do szablonów szablony funkcji

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

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

Programowanie obiektowe

Wyliczanie wyrażenia obiekty tymczasowe

Programowanie komputerowe. Zajęcia 4

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

Transkrypt:

Programowanie komputerowe Zajęcia 7

Klasy Klasy to typy danych, które pozwalają na zgromadzenie w jednej zmiennej (obiekcie) zarówno danych jak i operacji związanych z tymi danymi. Obiekt danej klasy może zawierać zmienne (zwane polami) i funkcje (zwane metodami). Można ustalić które składniki (pola i metody) obiektów są dostępne dla pozostałej części programu (składniki publiczne), a które są niedostępne (składniki prywatne). Można tworzyć własne klasy na podstawie już istniejących ten mechanizm nazywa się dziedziczeniem.

Definicja klasy class NazwaKlasy { public: // poniższe składniki będą publiczne deklaracja_zmiennej_lub_funkcji deklaracja_zmiennej_lub_funkcji private: // a teraz składniki prywatne deklaracja_zmiennej_lub_funkcji deklaracja_zmiennej_lub_funkcji ; // tu jest średnik!!!

Deklaracja klasy przykład Poniższa klasa umożliwia przechowywanie punktów na płaszczyźnie: class Punkt { public: double x; // współrzędna x double y; // współrzędna y ; Uwaga: jeśli wszystkie składniki są prywatne możemy użyć struct zamiast class: struct Punkt { double x; double y;

Przykład użycia klasy Punkt int main() { Punkt p; // tworzymy nowy punkt p.x=2.5; // ustawiamy współrzędne p.y=1.0; cout << "Punkt p to (" << p.x << "," << p.y << ")"; p.x=p.x+1; // przesuwamy w prawo cout << "A teraz p to (" << p.x << "," << p.y << ")"; Jak widać powyżej, do składnika x obiektu p odwołujemy się pisząc p.x.

Poprawiamy klasę Punkt Dodamy metodę do klasy Punkt, która umożliwia drukowanie współrzędnych punktu na ekranie: class Punkt { public: double x; // współrzędna x double y; // współrzędna y void drukuj(); // drukuje współrzędne na ekranie-deklaracja ; void Punkt::drukuj() { // definicja cout << "(" << x << "," << y << ")";

Poprawiamy klasę Punkt (2) Można też połączyć definicję z deklaracją: class Punkt { public: double x; // współrzędna x double y; // współrzędna y void drukuj() { // drukuje współrzędne na ekranie cout << "(" << x << "," << y << ")"; ; Tak robimy jeśli funkcja jest krótka.

Poprawiamy klasę Punkt (3) Teraz punkty "potrafią" się drukować. Można poprzedni przykład zapisać tak: int main() { Punkt p; // tworzymy nowy punkt p.x=2.5; // ustawiamy współrzędne p.y=1.0; cout << "Punkt p to "; p.drukuj(); p.x=p.x+1; // przesuwamy w prawo cout << "A teraz p to "; p.drukuj(); Później nauczymy się drukować obiekty przy pomocy cout.

Konstruktory Konstruktor to funkcja, która automatycznie wywołuje się w momencie, gdy tworzony jest nowy obiekt. Konstruktory służą do ustawienia początkowej wartości obiektów. W klasie może być zdefiniowanych wiele konstruktorów, muszą się różnić listą parametrów. Gdy tworzymy obiekt możemy wybrać, którego z nich użyć. Deklaracja konstruktora wygląda jak definicja funkcji, ale: nazwa konstruktora jest taka sama jak nazwa funkcji konstruktor nie zwraca żadnej wartości

Konstruktory klasy Punkt class Punkt { public: Punkt() { x=0; y=0; // konstruktor 1 Punkt(double _x, double _y) { // konstruktor 2 x=_x; y=_y; // ustawiamy początkowe współrzędne double x; // współrzędna x double y; // współrzędna y void drukuj() { // drukuje współrzędne na ekranie cout << "(" << x << "," << y << ")"; ;

Konstruktory przykład int main() { Punkt p(2.5, 1.0); // tworzymy nowy punkt konstruktor 1 Punkt q; // tworzymy nowy punkt konstruktor 2 cout << "Punkt p to "; p.drukuj(); cout << "Punkt q to "; q.drukuj();

Przykład metoda licząca odległość Do klasy Punkt dodajemy: double odleglosc(punkt& p) { return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y)); (wymaga biblioteki cmath). Teraz wyrażenie p.odleglosc(q) zwróci odległość od punktu p do punktu q. Uwaga: funkcja odleglosc ma dwa parametry jeden wpisany w nawiasy, a drugi niejawny obiekt wywołujący funkcję.

Ćwiczenia 1. Dodać do klasy Punkt metodę void wczytaj() która umożliwia użytkownikowi wpisanie współrzędnych punktu. 2. Stworzyć klasę Czas, której obiekty będą reprezentować czas w ciągu dnia z dokładnością do minuty. Należy umożliwić wypisywanie godziny w formatach 12 i 24-godzinnym oraz dodawanie do niej podanej ilości minut. 3. Stworzyć klasę Set, która reprezentuje wynik meczu pomiędzy dwoma drużynami. Set toczy się do zdobycia określonej liczby punktów i osiągnięcia dwupunktowej przewagi nad przeciwnikiem. Dostępne metody: zdobycie punktu, drukowanie wyniku, określenie zwycięzcy.