Một lớp trừu tượng(abstract class) là sự kết hợp giữa một giao diện(interface) và một lớp(class). Nó có thể được định nghĩa các hàm cũng như giao diện(interface).

  • Class sẽ mở rộng của lớp trừu tượng(abstract class) phải triển khai tất cả các phương thức trừu tượng được định nghĩa trong lớp trừu tượng.
  • Một lớp trừu tượng được khai báo giống như các lớp có thêm từ khóa ‘abstract.

Một lớp trừu tượng(abstract class) là các tính năng quan trọng nhất của bất kỳ ngôn ngữ lập trình OOP nào. Nó chỉ hiển thị thông tin hữu ích, còn lại nó sẽ ẩn các thông tin không cần cho người dùng cuối. Trừu tượng hóa(abstract) là sự trình bày bất kỳ dữ liệu nào trong đó các chi tiết triển khai có thể được ẩn đi(trừu tượng hóa).

Cú pháp:

abstract class MyAbstract  
{  
    //Methods  
}  
//And is attached to a class using the extends keyword.  
class Myclass extends MyAbstract  
{  
    //class methods  
} 

ví dụ 1

<?php  
abstract class a  
{  
abstract public function dis1();  
abstract public function dis2();  
}  
class b extends a  
{  
public function dis1()  
    {  
        echo "cafedevn";  
    }  
    public function dis2()  
    {  
        echo "SSSIT";     
    }  
}  
$obj = new b();  
$obj->dis1();  
$obj->dis2();  
?>  

Ví dụ 2

<?php  
abstract class Animal  
{  
    public $name;  
    public $age;  
public function Describe()  
        {  
                return $this->name . ", " . $this->age . " years old";      
        }  
abstract public function Greet();  
    }  
class Dog extends Animal  
{  
public function Greet()  
        {  
                return "Woof!";      
        }  
      
        public function Describe()  
        {  
                return parent::Describe() . ", and I'm a dog!";      
        }  
}  
$animal = new Dog();  
$animal->name = "Bob";  
$animal->age = 7;  
echo $animal->Describe();  
echo $animal->Greet();  
?>  

Đầu ra:

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!