کلاس های انتزاعی در انجمن OOP – DEV

Summarize this content to 400 words in Persian Lang
کلاس های انتزاعی در PHP کلاس هایی هستند که به تنهایی نمی توانند نمونه سازی شوند و به گونه ای طراحی شده اند که توسط کلاس های دیگر به ارث برده شوند. آنها می توانند شامل هر دو روش انتزاعی و عینی باشند.
کلاس های انتزاعی با استفاده از abstract کلمه کلیدی و هر کلاسی که شامل حداقل یک متد انتزاعی باشد باید به عنوان یک کلاس انتزاعی اعلام شود.
مشخصات
نمی توان مستقیماً نمونه برداری کرد
باید توسط کلاس دیگری به ارث برده شود
می تواند شامل هر دو روش انتزاعی و عینی باشد
روش های انتزاعی باید توسط کلاس های فرزند پیاده سازی شوند
روش های بتن را می توان توسط کلاس های فرزند بدون پیاده سازی استفاده کرد
abstract class AchivementType
{
public function name(){
$class = (new ReflectionClass($this))->getShortName();
return trim(preg_replace(‘/[A-Z]/’,’$0′, $class));
}
public function icon()
{
return strtolower(str_replace(”,’-‘, $this->name())).’.png’;
}
abstract public function qualifier($user);
}
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
امیدوارم مفهوم کلاس های انتزاعی را به وضوح درک کرده باشید.
کلاس های انتزاعی در PHP کلاس هایی هستند که به تنهایی نمی توانند نمونه سازی شوند و به گونه ای طراحی شده اند که توسط کلاس های دیگر به ارث برده شوند. آنها می توانند شامل هر دو روش انتزاعی و عینی باشند.
کلاس های انتزاعی با استفاده از abstract
کلمه کلیدی و هر کلاسی که شامل حداقل یک متد انتزاعی باشد باید به عنوان یک کلاس انتزاعی اعلام شود.
مشخصات
- نمی توان مستقیماً نمونه برداری کرد
- باید توسط کلاس دیگری به ارث برده شود
- می تواند شامل هر دو روش انتزاعی و عینی باشد
- روش های انتزاعی باید توسط کلاس های فرزند پیاده سازی شوند
- روش های بتن را می توان توسط کلاس های فرزند بدون پیاده سازی استفاده کرد
abstract class AchivementType
{
public function name(){
$class = (new ReflectionClass($this))->getShortName();
return trim(preg_replace('/[A-Z]/','$0', $class));
}
public function icon()
{
return strtolower(str_replace('','-', $this->name())).'.png';
}
abstract public function qualifier($user);
}
امیدوارم مفهوم کلاس های انتزاعی را به وضوح درک کرده باشید.