Lớp trừu tượng PHP

*Chào các bạn, * Hôm nay chúng ta cùng nhau tìm hiểu về Abstract Class trong PHP nhé!. I/ Lớp trừu tượng là gì ? . – Lớp này sẽ bao gồm các phương thức hiển thị. – Các lớp khác khi kế thừa Lớp vật liệu sẽ phải định nghĩa các phương thức vật liệu đó. – Một lớp chỉ có thể kế thừa 1 lớp đối tượng. Cú pháp để thông báo 1 lớp trừu tượng

abstract class Database
{
     abstract protected function checkExistUser[];
     abstract protected function updateUser[];
}

**– Một số lưu ý khi sử dụng Lớp trừu tượng **

abstract class Database
{
     abstract protected function checkExistUser[]
     {
     /*
      * - Dùng thế này là sai bởi:
      *   function checkExistUser là abstract function nên không code trong đó
     */
         echo 'check exist user';
     }
}
abstract class Database
{
     abstract protected function checkExistUser[];
}
$db = new Database[];
/*
* Khởi tạo đối tượng từ một Abstract class là sai
*
*/
______3
abstract class Database
{
     public $table;
    
     abstract protected function checkExistUser[];
}

class User extends Database
{
    protected function checkExistUser[]
    {
        //Tất cả các lớp kế thừa từ Abstract class đều phải định nghĩa lại các method của Abstract Class
    }
}

II/ Vai trò của Lớp trừu tượng trong PHP – Đó là, trong quá trình thiết lập, khi bạn [hoặc một người nào đó] xây dựng một trang web hệ thống, và trong quá trình xây dựng [mã] lên hệ thống đó, bạn muốn ép

III/ Ví dụ

  • Sau đây mình xin giới thiệu các bạn 1 lớp Abstract và 1 lớp extends từ lớp Abstract cho các bạn dễ hiểu
abstract class Person
{
    private $givenName;
    private $familyName;
    
    public function setGivenName[$gn]
    {
        $this->givenName = $gn;
    }
    
    public function getGivenName[]
    {
        return $this->givenName;
    }
    
    public function setFamilyName[$fn]
    {
        $this->familyName = $fn;
    }
    
    public function getFamilyName[]
    {
        return $this->familyName;
    }
     
    public function sayHello[]
    {
        echo["Hello, I am "];
        $this->introduceSelf[];
    }
    
    abstract public function introduceSelf[];
    
}

class Employee extends Person
{
    private $role;
    
    public function setRole[$r]
    {
        $this->role = $r; 
    }
    
    public function getRole[]
    {
        return $this->role;
    }
    
    public function introduceSelf[]
    {
        echo[$this->getRole[] . " " . $this->getGivenName[] . " " . 
            $this->getFamilyName[]];
    }
}

Đến đây, chắc chắn các bạn đã hiểu được phần nào về lớp trừu tượng rồi đúng không nào. Trong chủ đề tiếp theo mình sẽ giới thiệu về Giao diện trong PHP. Chào các bạn

Lớp trừu tượng trong PHP là gì?

Các lớp và phương thức trừu tượng là khi lớp cha có một phương thức được đặt tên nhưng cần [các] lớp con của nó để thực hiện các tác vụ. Lớp trừu tượng là lớp chứa ít nhất một phương thức trừu tượng . Một phương thức trừu tượng là một phương thức được khai báo, nhưng không được triển khai trong mã.

Tại sao nên sử dụng lớp trừu tượng trong PHP?

Chúng tôi sử dụng các lớp trừu tượng khi chúng tôi muốn lập trình viên [chính mình hoặc người khác] viết một phương thức lớp nhất định , nhưng chúng tôi . Lấy một ví dụ, hình tròn, hình chữ nhật, hình bát giác, v.v.

PHP có hỗ trợ lớp trừu tượng không?

PHP có các lớp và phương thức trừu tượng . Các lớp được định nghĩa là trừu tượng không thể được khởi tạo và bất kỳ lớp nào chứa ít nhất một phương thức trừu tượng cũng phải là trừu tượng. Các phương thức được định nghĩa là trừu tượng chỉ cần khai báo chữ ký của phương thức; .

Làm cách nào để ghi đè lớp trừu tượng trong PHP?

Quy tắc Trừu tượng hóa . Các đối số cho các phương thức phải giống như phương thức trừu tượng. Chẳng hạn, trong ví dụ trên, myMethod2 có hai đối số. $name và $age. Phương thức myMethod2 trong lớp con phải có cùng đối số. The child class should override [redeclare] all the abstract methods. The arguments for methods should be the same as the abstract method. For instance, in the above example, myMethod2 has two arguments: $name and $age . The method myMethod2 in the child class should have the same arguments.

Chủ Đề