منبع: chatgpt
در PHP، اینترفیس (Interface) یک قرارداد است که شامل مجموعهای از متدهای بدون پیادهسازی است. کلاسهایی که اینترفیس را پیادهسازی میکنند (implement میکنند)، موظفند تمامی متدهای تعریفشده در اینترفیس را پیادهسازی کنند.
ویژگیهای اینترفیس در PHP:
- متدهای اینترفیس فقط تعریف میشوند و پیادهسازی (بدنه متد) ندارند.
- کلاسها میتوانند چندین اینترفیس را پیادهسازی کنند (چندگانگی در پیادهسازی).
- متدهای اینترفیس بهصورت عمومی (public) هستند و کلاسها نمیتوانند سطح دسترسی آنها را تغییر دهند.
مثال:
interface Shape {
public function area();
public function perimeter();
}
class Rectangle implements Shape {
private $width;
private $height;
public function __construct($width, $height) {
$this->width = $width;
$this->height = $height;
}
public function area() {
return $this->width * $this->height;
}
public function perimeter() {
return 2 * ($this->width + $this->height);
}
}
$rectangle = new Rectangle(5, 10);
echo "Area: " . $rectangle->area(); // خروجی: Area: 50
echo "Perimeter: " . $rectangle->perimeter(); // خروجی: Perimeter: 30
در این مثال، Shape یک اینترفیس است که دو متد area
و perimeter
را تعریف کرده است. کلاس Rectangle اینترفیس را پیادهسازی میکند و موظف است هر دو متد را پیادهسازی کند.
مزایا:
- اینترفیسها به تعریف قراردادها کمک میکنند و باعث میشوند که کلاسها موظف به رعایت این قراردادها شوند.
- استفاده از اینترفیسها وابستگی به جزئیات پیادهسازی را کاهش میدهد و انعطافپذیری در توسعه کد فراهم میکند.
دیدگاهتان را بنویسید