Klasa vs. obiekt

W programowaniu obiektowym: klasa to konstrukcja, która definiuje zbiór właściwości i metod. Możesz myśleć o tym jak o szablonie. Na przykład,

przedmiot klasy public $ itemType; / * np. może to być „Book” lub „CD” * / public $ price; funkcja publiczna printPrice () echo "Cena tego $ this-> itemType wynosi $ this-> price dolarów.";  $ catch22 = new Item (); $ catch22-> itemType = "Book"; $ catch22-> cena = 25; $ catch22-> printPrice (); / * wyjścia Cena tej książki wynosi 25 dolarów. * / $ americanPrayer = new Item (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> cena = 22; $ americanPrayer-> printPrice (); / * wyjścia Cena tej płyty wynosi 22 dolary * / 

Zauważ, że w tym przykładzie $ catch22 i $ americanPrayer są 2 obiektami. Obiekty są instancjami klasy. Dzielą wspólną strukturę zdefiniowaną przez klasę. Ta wspólna struktura składa się z właściwości ($ itemType i $ price w powyższym przykładzie) i metod (funkcje; printPrice () w powyższym przykładzie) klasy. Jednak właściwości różnych obiektów mogą być różne.

W powyższym przykładzie cena i rodzaj produktu są różne dla 2 obiektów tej samej klasy. Ale oba obiekty mają metodę printPrice (), a Cena £ własność i typ przedmiotu właściwość, której można użyć.

KlasaObiektDefinicja Klasa jest mechanizmem wiązania elementów danych i powiązanych metod w jednej jednostce. Instancja klasy lub zmienna klasy. Istnienie To jest logiczne istnienie To jest fizyczna egzystencja Przydział pamięci Miejsce w pamięci nie jest przydzielane podczas tworzenia. Miejsce w pamięci jest przydzielane podczas tworzenia. Deklaracja / definicja Definicja jest tworzona raz. jest tworzony wiele razy, jak potrzebujesz.

Przypadki specjalne

W niektórych językach programowania, np. Python, wszystko jest przedmiotem. Oznacza to, że funkcje, zmienne, wystąpienia klasy, a nawet rzeczywiste klasy są traktowane jako obiekty przez język programowania.