Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podobne dokumenty
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

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

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

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

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

Wykład 8: klasy cz. 4

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 9

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 12

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

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Rozdział 4 KLASY, OBIEKTY, METODY

Podstawy Programowania Obiektowego

TEMAT : KLASY DZIEDZICZENIE

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

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

Materiały do zajęć VII

Języki Programowania z Programowaniem Obiektowym laboratorium (30 godzin/semestr)

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

> C++ dziedziczenie. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

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

Wykład 5: Klasy cz. 3

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

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

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

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Wstęp do programowania obiektowego. Wykład 2

Programowanie obiektowe

Do czego służą klasy?

Język C++ Programowanie obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe

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

Interfejsy i klasy wewnętrzne

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 4: Klasy i Metody

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

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Dziedziczenie. Ogólna postać dziedziczenia klas:

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

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

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

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

Pola i metody statyczne. Klasy zawierające pola i metody statyczne

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

Programowanie komputerowe. Zajęcia 7

Przypomnienie o klasach i obiektach

Wstęp do Programowania 2

Zapis programu z wykorzystaniem modułu (Podstawy Delphi 2.1, 2.2, 2.3 str11 )

Konstruktor destruktor Programowanie obiektowe

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Programowanie Obiektowe i C++

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

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

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

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

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

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

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

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

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

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

Definiowanie własnych klas

Programowanie obiektowe - 1.

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

OBIEKTY PHP. G. Panuś

Dziedziczenie jednobazowe, poliformizm

Kurs WWW. Paweł Rajba.

Podstawy programowania III

PARADYGMATY PROGRAMOWANIA Wykład 2

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

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

Programowanie obiektowe

PROE wykład 4 pozostałe operatory, forward declaration, dziedziczenie. dr inż. Jacek Naruniec

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

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

Wykład nr 5. Temat: Klasy i abstrakcja danych, cz. I. W.S. Gilbert

Definicje klas i obiektów. Tomasz Borzyszkowski

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

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Programowanie obiektowe

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

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

KLASY cz.1. Dorota Pylak

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

Klasa, metody, rozwijanie w linii

Do czego służą klasy?

Funkcje wirtualne. Wskaźniki do klas pochodnych są podstawą dla funkcji wirtualnych i polimorfizmu dynamicznego.

PARADYGMATY PROGRAMOWANIA Wykład 4

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

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

Programowanie obiektowe

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

Transkrypt:

Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium 11: Klasy podstawy: definiowanie klas, dostęp do składników klasy, programy złożone z wielu plików. Opracowali: dr hab. inż. Witold Beluch witold.beluch@polsl.pl dr inż. Jacek Ptaszny jacek.ptaszny@polsl.pl Gliwice 2016

Języki programowania z programowaniem obiektowym. Laboratorium 11 1 1. Definiowanie klas W języku C++ można tworzyć własne typy danych w postaci klas (i struktur). Na ich bazie można tworzyć obiekty własnych typów. Można stworzyć np. klasę Telewizor. Klasę tę opisuje: - zestaw wartości (dane składowe), np.: model, przekątna. - zestaw możliwych zachowań (funkcje składowe), np.: zmien_program(), ustaw_glosnosc(). Klasę definiuje się za pomocą słowa kluczowego class po którym następuje jej nazwa, np.: Obiekty danej klasy tworzy się podając nazwę klasy i nazwę obiektu: czyli analogicznie, jak dla typów wbudowanych: Sama deklaracja klasy (czasami przydatna jest tzw. deklaracja zapowiadająca) ma postać: Definicja klasy nie skutkuje rezerwacją pamięci (w końcu klasa to tylko typ obiektu...). Dopiero definicja obiektu rezerwuje miejsce w pamięci na ten obiekt. Dla każdego obiektu danej klasy tworzony jest osobny zestaw danych składowych, natomiast funkcje składowe są w pamięci jednokrotnie dla wszystkich obiektów danej klasy. W definicji klasy dane składowe nie mogą być inicjalizowane. Mogą im być nadawane wartości za pomocą funkcji składowych klasy, (np. funkcji ustaw()) lub konstruktora klasy (o tym przy innej okazji...). Funkcje składowe wywołuje się na rzecz konkretnego obiektu klasy, np.: Funkcje składowe mają pełny dostęp do wszystkich składników swojej klasy, tj. do danych (mogą z nich korzystać i je modyfikować) i do innych funkcji składowych (mogą je wywoływać). Funkcje składowe klasy można definiować: na zewnątrz definicji klasy (zazwyczaj) wówczas należy skorzystać z operatora zasięgu :: by określić klasę, do której należy funkcja np. funkcja zmien_przerzutke_tyl() w przykładzie 1. wewnątrz definicji klasy wówczas stają się funkcjami inline zatem ten wariant należy stosować jedynie przy krótkich funkcjach - np. funkcje drukuj() i przypisz() w przykładzie 2.

Języki programowania z programowaniem obiektowym. Laboratorium 11 2 Przykład 1: 2. Dostęp do składowych klasy Do określania dostępu do składowych klasy służą etykiety: Etykieta private oznacza, że dane i funkcje deklarowane za nią są dostępne tylko wewnątrz klasy (zatem do danych prywatnych klasy mają dostęp tylko funkcje składowe tej klasy). Etykieta public oznacza, że dane i funkcje deklarowane za nią są dostępne zarówno z wnętrza klasy, jak i spoza klasy. Etykieta protected składniki określone w ten sposób są dostępne tak, jak składniki prywatne, ale są również dostępne dla klas wywodzących się od danej klasy (o tym przy innej okazji...). Domyślnie (dopóki nie wystąpi żadna etykieta) wszystkie składniki klasy są prywatne. Np.:

Języki programowania z programowaniem obiektowym. Laboratorium 11 3 Przykład 2: 3. Programy obiektowe złożone z wielu plików Dlaczego każda klasa powinna być zdefiniowana w osobnym pliku nagłówkowym? Zmiana w kodzie jednego z plików składowych projektu skutkuje koniecznością kompilacji wyłącznie tego pliku. Stworzona klasa może być wykorzystywana w wielu różnych programach. Strażnik nagłówka to zestaw dyrektyw preprocesora (kompilacja warunkowa) chroniących użytkowników klasy przed omyłkowym dwukrotnym włączeniem tego samego pliku nagłówkowego, np.:

Języki programowania z programowaniem obiektowym. Laboratorium 11 4 Przykład 3: Czy wiesz, że... Na Śląsku działa ponad 50 zakładów związanych z branżą motoryzacyjną. Wybrane zakłady posiadają własne biura konstrukcyjne oraz laboratoria, i są Twoimi potencjalnymi pracodawcami. Jeśli chcesz zwiedzić jeden z takich zakładów, skontaktuj się z opiekunami Studenckiego Koła Naukowego Metod Komputerowych. (Obraz: www.trw.pl)