Клас срещу обект
Обектно ориентираното програмиране или OOP е много популярен стил на програмиране, поради способността му да обработва по-сложни приложения с много повече код. Това е така, защото той организира данните в обекти, които са сравними с обекти от реалния живот. Класът и обектът са два термина, които обикновено се използват в OOP. В най-основната си форма обектите са инстанция на класовете.
За да използвате обекти в дадена програма, трябва да декларирате свойствата и процедурите в клас. За да визуализираме това по-добре, нека обсъдим това, като използваме пример. Ако искате да създадете програма, която се занимава с превозни средства, ще трябва да създадете клас за превозни средства. В класа бихте създали променливи, които съдържат информация, свързана с превозните средства. Стойности като капацитет на пътниците, максимална скорост и капацитет на гориво са типични заедно с процедури като старт и стоп. След като създадете класа за превозни средства, вече можете да създавате обекти в приложението си, които са базирани на класа на превозното средство. Можете да създадете обект, наречен кола или мотоциклет, който се основава на превозни средства. След това можете да попълните съответната информация за обекта и да я използвате, както сметнете за подходяща във вашето приложение.
Както вече може да се направи изводът от разгледания по-горе пример, информацията, която наистина ще използвате в приложение, се съхранява в обекта, а не в класа. Класът определя само структурата на данните и какво прави всяка процедура или функция.
Друга отлична характеристика на класовете е способността да се наследяват свойства и процедури от друг клас. Класовете, които наследяват свойствата на други класове, се наричат подкласове. Това съкращава работата, необходима за определяне на друг клас. Ако искате да определите клас, специфичен за автомобилите, можете просто да наследите свойствата и процедурите в класа на превозното средство, тъй като всички автомобили са превозни средства и ще имат същите характеристики. Същото не се прави с обекти, тъй като всъщност няма практическа употреба за глобално наследяване на данните на обекта. Основната практика за програмистите е да създават подклас и да създават обекта от подкласа.
Резюме:
1. Обектът е екземпляр от клас.
2. Дефинирате всички свойства и функции в клас, докато ги използвате в обект.
3. Класовете не съдържат никаква информация, докато обект го прави.
4. Можете да създавате подкласове, но не и под-обекти.