کلاس انتزاعی یا
Abstract Class :گونه ایی از کلاس ها می باشد که نمیتوان از آن شئ ساخت و آن را به عنوان پایه ایی برای کلاس های فرزند آن در نظر میگیرند.
در
Abstract Class ها به جز متد های عادی میتوان Abstract Method هم تعریف کرد.شیوه تعریف این کلاس ها به صورت زیر می باشد:
abstract class Fruit {
}
و برای تعریف Abstract Method ها باید توجه داشته باشید که بدون بدنه تعریف می شوند و تنها نام و ورودی های تابع مشخص شود. مثال:abstract public function banana();و در نهایت شکل کامل یک
Abstract Class به این صورت می باشد:abstract class Fruit {
abstract public function color();
abstract public function price();
abstract public function taste();
}
و سپس با extends کردن آن به کلاس مورد نظر استفاده می شود:class Banana extends Fruit {
public function color() {
return 'yellow';
}
public function price() {
return '1$';';
}
public function taste() {
return 'sweet';
}
}
میتوان یک Abstract class برای تعریف یک قالب پایه استفاده کرد که قراردادی را بین کلاسهای فرزند ایجاد کند.با تعریف
Abstract Method، مشخص میشود که کلاسهای فرزند باید متدهای خاصی را پیادهسازی کنند.استفاده از
Abstract class به شما امکان میدهد که به صورت پلیمورفیک با کلاسهای فرزند برخورد کنید.مثال های بالا با زبان PHP هستند، اما پایه و اساس
Abstract class در همه ی زبان ها به همین صورت هستند و تنها در مواردی سینتکس آنها متفاوت است.