Класи. Об'єкти. Посилання.
Клас та об'єкт
Клас - це якась структура даних і методів, яка дозволяє описати деякий об'єкт (до речі, об'єкт - це вже інше поняття). А якщо говорити простими словами, то можна привести наочний приклад.
Розглянемо автомобіль. У автомобіля є властивості і є функції, які він може виконувати. Серед властивостей можна виділити, наприклад, витрата палива, колір кузова, об'єм двигуна, тип кузова, тип коробки передач і т.д. Основні функції автомобіля - їхати вперед / назад, повернути ліворуч / праворуч і т.д.
Автомобіль ЗАЗ 968М - належить до класу легкових автомобілів. Або Subaru Forester - теж належить до класу легкових авто. Різниця між запорожцем і субару звичайно суттєва, але насправді вони мають багато спільного - ті ж колір кузова, розхід палива і т.ін. Тому ці дві контрастно-розрізняються машини можна виділити в один клас - клас легкових авто.
Ці дві машини є двома абсолютно різними об'єктами. Зрозуміло, що вони сильно розрізняються. І нехай у мене кине камінь той, хто зі мною не погодиться.
От я і навів приклад, що таке клас, а що таке об'єкт.
Властивості та методи
Тепер про те, як описується клас в PHP на прикладі опису класу автомобілів:
- <?
- class Car {
- protected $bodyColor; // властивість «колір кузова»
- protected $fuelRate; // властивість «расход топлива»
- protected $engineVolume; // властивість «об'єм двигуна»
- public function accelerate() {
- // довавте галузь
- // …
- }
- public function slowdown() {
- // тормозити
- // …
- }
- }
- ?>