Що таке властивості в об’єктно-орієнтованому програмуванні?
В об'єктно-орієнтованому програмуванні властивість - це характеристика або атрибут об'єкта, до якого можна отримати доступ і який можна змінити. Це спосіб інкапсулювати дані в об’єкті та надати контрольований інтерфейс для доступу та зміни цих даних.
Наприклад, об’єкт «Автомобіль» може мати такі властивості, як «колір», «марка» та «модель», які описують зовнішній вигляд і технічні характеристики автомобіля. Об’єкт `Car` матиме такі методи, як `drive()` і `park()`, які маніпулюватимуть станом автомобіля (наприклад, запустять двигун, увімкнуть передачу).
Властивості зазвичай визначаються за допомогою геттерів і сеттерів, які є методами, які дозволяють отримати доступ і змінити значення властивості. Наприклад:
```
class Car {
private $color;
public function __construct($color) {
$this->color = $color;
}
public function getColor() {
return $this->color ;
}
публічна функція setColor($newColor) {
$this->color = $newColor;
}
публічна функція drive() {
// код для запуску двигуна та перемикання автомобіля на передачу
}
парк публічних функцій () {
// код для зупинки двигуна та зупинки автомобіля
}
}
```
У цьому прикладі об’єкт `Car` має властивість під назвою `color`, яка є приватною (тобто вона може лише бути доступним і зміненим самим об'єктом). Метод `getColor()` дозволяє отримати поточне значення властивості `color`, тоді як метод `setColor()` дозволяє встановити нове значення для властивості `color`.
Властивості є фундаментальною концепцією об’єкта -орієнтоване програмування, і вони надають спосіб інкапсулювати дані в об’єкт і контролювати доступ до цих даних.