Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT
• W programowaniu strukturalnym rozwój oprogramowania oparto o procedury/funkcje. Struktury danych odgrywają w nim rolę drugoplanową.
• Programowanie zorientowane obiektowo (OOP, ang. Object Oriented Programming) oferuje nowe podejście, przyznając strukturom rolę pierwszoplanową. Zakłada ono że żyjemy w świecie obiektów, oddziałujących ze sobą zgodnie ze swą naturą. Operacje jakim poddaje się obiekty są sprawą wtórną, ponieważ zależą od cech samych obiektów.
• Klasy są kluczowym pojęciem w programowaniu obiektowym. Oznaczają typy złożone, zawierające nie tylko dane, ale i funkcje operujące na tych danych (zwane metodami). Tak zdefiniowany typ może być wzorcem jakiegoś rzeczywistego obiektu.
W klasach można wyróżniać:
1. Kategorie widoczności elementów klasy
2. Pola (zawierają dane)
3. Metody (funkcje)
4. Konstruktory
5. Destruktory
• Obiekt (ang. object) danej klasy jest reprezentowany przez zmienną typu zdefiniowanego przez tę klasę. Obiekty są rzeczywistymi egzemplarzami danej klasy złożonymi ze wszystkich składowych zadeklarowanych w tej klasie oraz ze składowych wszystkich jej przodków.
• Mechanizm dziedziczenia umożliwia tworzenie tzw. klas potomnych, które przejmują cechy swoich klas rodzicielskich (bazowych). Klasy pochodne definiują nowe własności i operacje oraz mogą zmieniać operacje odziedziczone (polimorfizm).