Vad är egenskaper i objektorienterad programmering?
I objektorienterad programmering är en egenskap en egenskap eller ett attribut hos ett objekt som kan nås och modifieras. Det är ett sätt att kapsla in data i ett objekt och tillhandahålla ett kontrollerat gränssnitt för åtkomst till och modifiering av dessa data.
Till exempel kan ett `Car`-objekt ha egenskaper som `color`, `make` och `model`, som beskriver bilens utseende och specifikationer. `Car`-objektet skulle ha metoder som `drive()` och `park()`, som skulle manipulera bilens tillstånd (t.ex. starta motorn, sätta bilen i växel).
Egenskaper definieras vanligtvis med hjälp av getters och seters, vilka är metoder som låter dig komma åt och ändra fastighetens värde. Till exempel:
```
class Car {
privat $color;
public function __construct($color) {
$this->color = $color;
}
public function getColor() {
return $this->color ;
}
public function setColor($newColor) {
$this->color = $newColor;
}
public function drive() {
// kod för att starta motorn och sätta bilen i växel
}
public function park () {
// kod för att stoppa motorn och sätta bilen i park
}
}
```
I det här exemplet har `Car`-objektet en egenskap som heter `color`, som är privat (dvs. det kan bara kan nås och ändras av objektet självt). Metoden `getColor()` låter dig hämta det aktuella värdet för egenskapen `color`, medan metoden `setColor()` låter dig ställa in ett nytt värde för egenskapen `color`.
Properties är ett grundläggande koncept i objektet -orienterad programmering, och de ger ett sätt att kapsla in data i ett objekt och kontrollera åtkomsten till dessa data.