Klasa vs. obiekt
Programowanie obiektowe (OOP) jest bardzo popularnym stylem programowania, ze względu na jego zdolność do obsługi bardziej złożonych aplikacji z dużo większą ilością kodu. Dzieje się tak, ponieważ porządkuje dane w obiekty, które są porównywalne z obiektami z prawdziwego życia. Klasa i obiekt to dwa terminy, które są powszechnie używane w OOP. W najbardziej podstawowej formie obiekty są instancjami klas.
Aby użyć obiektów w programie, musisz zadeklarować właściwości i procedury w klasie. Abyśmy mogli lepiej to zwizualizować, omówmy to na przykładzie. Jeśli chcesz stworzyć program zajmujący się pojazdami, musisz utworzyć klasę dla pojazdów. W klasie stworzyłbyś zmienne, które będą zawierały informacje istotne dla pojazdów. Wartości takie jak pojemność pasażera, prędkość maksymalna i pojemność paliwa są typowe wraz z procedurami takimi jak start i stop. Po utworzeniu klasy dla pojazdów możesz teraz tworzyć w aplikacji obiekty oparte na klasie pojazdu. Możesz utworzyć obiekt o nazwie samochód lub motocykl oparty na pojazdach. Następnie możesz wypełnić odpowiednie informacje o obiekcie i użyć ich, jeśli uznasz, że pasują do twojej aplikacji.
Jak już mogłeś wywnioskować z przykładu omówionego powyżej, informacje, których naprawdę użyjesz w aplikacji, są przechowywane w obiekcie, a nie w klasie. Klasa definiuje jedynie strukturę danych oraz sposób działania każdej procedury lub funkcji.
Inną doskonałą cechą klas jest możliwość dziedziczenia właściwości i procedur z innej klasy. Klasy dziedziczące właściwości innych klas nazywane są podklasami. Skraca to czas potrzebny na zdefiniowanie innej klasy. Jeśli chcesz zdefiniować klasę specyficzną dla samochodów, możesz po prostu odziedziczyć właściwości i procedury w klasie pojazdu, ponieważ wszystkie samochody są pojazdami i będą miały te same cechy. To samo nie dotyczy obiektów, ponieważ tak naprawdę nie ma praktycznego zastosowania do globalnego dziedziczenia danych obiektu. Podstawową praktyką dla programistów jest tworzenie podklasy i tworzenie obiektu z podklasy.
Streszczenie:
1. Obiekt jest instancją klasy.
2. Zdefiniujesz wszystkie właściwości i funkcje w klasie, jednocześnie wykorzystując je w obiekcie.
3. Klasy nie przechowują żadnych informacji, podczas gdy obiekt je zawiera.
4. Możesz tworzyć podklasy, ale nie podobiekty.