Cách gọi phương thức trừu tượng trong PHP?

Một lớp trừu tượng chứa khai báo các phương thức nhưng không chứa định nghĩa của chúng. Nó chỉ chứa tên của họ. Lớp con có trách nhiệm định nghĩa các phương thức này

một phương pháp trừu tượng là gì?

Một phương thức trừu tượng là một phương thức của một lớp trừu tượng được khai báo bằng các từ khóa trừu tượng và không chứa phần thân. Nó được định nghĩa bởi lớp con

  • từ khóa trừu tượng được sử dụng để khai báo một lớp hoặc phương thức trừu tượng
  • Một lớp trừu tượng phải chứa ít nhất một phương thức trừu tượng. Tuy nhiên, nó cũng có thể chứa các phương thức không trừu tượng.

cú pháp

Các quy tắc của lớp trừu tượng trong PHP là gì?

  • Một lớp trừu tượng phải chứa ít nhất một phương thức trừu tượng. Tuy nhiên, nó cũng có thể chứa các phương thức không trừu tượng
  • Khi một đứa trẻ được gọi kế thừa lớp cha trừu tượng, nó phải định nghĩa các phương thức trừu tượng của lớp cha có cùng tên
  • Trong khi định nghĩa các phương thức trừu tượng trong lớp con, nó nên được định nghĩa với công cụ sửa đổi truy cập ít bị hạn chế hơn. Chẳng hạn, nếu lớp cha chứa phương thức trừu tượng có công cụ sửa đổi truy cập được bảo vệ. Vì vậy, khi lớp con định nghĩa phương thức này, nó sẽ giữ công cụ sửa đổi truy cập của nó là được bảo vệ hoặc công khai. Nó không thể đặt nó ở chế độ riêng tư, vì nó bị hạn chế hơn so với chế độ được bảo vệ
  • Lớp con xác định phương thức trừu tượng phải truyền số lượng đối số bằng nhau như được chỉ định trong khai báo trong lớp cha mẹ asbtract. Tuy nhiên, lớp con có thể có các đối số tùy chọn/bổ sung ngoài những đối số bắt buộc

Ví dụ về lớp Trừu tượng trong PHP

Giải thích ví dụ trên

  • Trong ví dụ trên, chúng ta tạo một lớp trừu tượng Bike chứa phần giới thiệu phương thức trừu tượng
  • Chúng ta tạo hai lớp con Honda và Suzuki mở rộng lớp trừu tượng và định nghĩa phương thức giới thiệu
  • Chúng tôi tạo các đối tượng của các lớp này và gọi phương thức giới thiệu bằng các đối tượng của chúng. Phương thức giới thiệu hoạt động theo cách triển khai được đưa ra bởi lớp tương ứng của nó

Ví dụ về lớp trừu tượng có thêm đối số trong ghi đè phương thức



Giải thích ví dụ trên

  • Logic cơ bản của ví dụ trên giống như ví dụ trước. Tuy nhiên, chúng tôi chuyển đối số bổ sung cho hàm trong phương thức giới thiệu của lớp suzuki
  • Như chúng ta đã định nghĩa quy tắc trước đó trong hướng dẫn này, công cụ sửa đổi quyền truy cập của lớp con trong khi triển khai phương thức trừu tượng của lớp cha phải nhỏ hơn giá trị được chỉ định trong lớp cha để khai báo phương thức này. Vì vậy, cả hai lớp con đều sử dụng công cụ sửa đổi truy cập công khai để xác định phương thức giới thiệu
  • Cố gắng xác định chức năng với công cụ sửa đổi quyền truy cập riêng tư, nó sẽ tạo ra lỗi

Ghi chú. Lớp trừu tượng không chứa bất kỳ phương thức khởi tạo nào. Vì vậy, chúng ta không thể tạo thể hiện của một lớp trừu tượng

Khi nào có thể định nghĩa một lớp tóm tắt bằng cách sử dụng từ khóa abstract. Một lớp được định nghĩa là trừu tượng không thể được khởi tạo

Sau đây là một số điểm quan trọng về lớp trừu tượng và phương thức

  1. Một lớp trừu tượng có thể có các phương thức và thuộc tính giống như bất kỳ lớp bình thường nào khác
  2. Một lớp trừu tượng không thể được khởi tạo, do đó chúng ta cần tạo một lớp con mở rộng nó, sau đó chúng ta có thể tạo đối tượng của lớp con
  3. Nếu một lớp thậm chí có một phương thức trừu tượng duy nhất thì lớp đó cũng phải trừu tượng
  4. Một phương thức trừu tượng chỉ là khai báo, nơi chúng tôi cung cấp tên của phương thức và đối số, trong khi phần cơ thể trống

Đừng lo lắng nếu nó quá nhiều để bạn hiểu. Chúng tôi sẽ trình bày tất cả các điểm từng bước với các ví dụ, hãy bắt đầu bằng cách hiểu cách chúng tôi tạo một lớp trừu tượng

Tạo một lớp abstract

Để khai báo một lớp trừu tượng, chúng ta cần sử dụng từ khóa abstract trước tên của lớp

Hãy lấy một ví dụ

Trong ví dụ trên, lớp Vehicle của chúng ta là một lớp trừu tượng, có một phương thức trừu tượng

Ý tưởng đằng sau việc tạo lớp trừu tượng là ràng buộc các nhà phát triển tuân theo một bộ nguyên tắc, ví dụ: nếu bạn muốn tạo một lớp mới mở rộng lớp của chúng ta Vehicle thì bạn sẽ phải cung cấp định nghĩa cho phương thức trừu tượng

name. " - Engine start...
"; } // non-abstract public function stop public function stop[] { echo $this->name. " - Engine stop...
"; } // non-abstract public function setName public function setName[$name] { $this->name = $name; } // abstract function mileage abstract public function mileage[] { } } ?>
0, nếu không thì lớp con . Do đó, tất cả các lớp con bắt buộc phải cung cấp định nghĩa cho phương thức
name. " - Engine start...
"; } // non-abstract public function stop public function stop[] { echo $this->name. " - Engine stop...
"; } // non-abstract public function setName public function setName[$name] { $this->name = $name; } // abstract function mileage abstract public function mileage[] { } } ?>
0

Phương thức phi trừu tượng trong lớp trừu tượng

Bất kỳ lớp nào có một phương thức trừu tượng duy nhất phải được khai báo trừu tượng. Nhưng một lớp trừu tượng cũng có thể có các phương thức không trừu tượng, có thể được truy cập và sử dụng trực tiếp bởi các lớp con mà không cần ghi đè chúng

Hãy mở rộng ví dụ trên và thêm một phương thức không trừu tượng vào lớp của chúng ta Vehicle

name. " - Engine start...
"; } // non-abstract public function stop public function stop[] { echo $this->name. " - Engine stop...
"; } // non-abstract public function setName public function setName[$name] { $this->name = $name; } // abstract function mileage abstract public function mileage[] { } } ?>

Trong đoạn mã trên, chúng tôi đã thêm ba phương thức không trừu tượng là

name. " - Engine start...
"; } // non-abstract public function stop public function stop[] { echo $this->name. " - Engine stop...
"; } // non-abstract public function setName public function setName[$name] { $this->name = $name; } // abstract function mileage abstract public function mileage[] { } } ?>
3,
name. " - Engine start...
"; } // non-abstract public function stop public function stop[] { echo $this->name. " - Engine stop...
"; } // non-abstract public function setName public function setName[$name] { $this->name = $name; } // abstract function mileage abstract public function mileage[] { } } ?>
4 và
name. " - Engine start...
"; } // non-abstract public function stop public function stop[] { echo $this->name. " - Engine stop...
"; } // non-abstract public function setName public function setName[$name] { $this->name = $name; } // abstract function mileage abstract public function mileage[] { } } ?>
5 vào lớp trừu tượng Vehicle của chúng tôi

Kế thừa các lớp trừu tượng

Cũng giống như bất kỳ lớp nào khác, chúng ta cũng có thể tạo các lớp mở rộng các lớp trừu tượng

Sự khác biệt duy nhất ở đây là lớp con phải cung cấp định nghĩa cho phương thức trừu tượng được khai báo trong lớp cha trừu tượng

Nếu lớp con không cung cấp định nghĩa cho phương thức trừu tượng, thì nó cũng nên được định nghĩa là một lớp trừu tượng

Hãy tạo hai lớp con kế thừa lớp Vehicle và sẽ có định nghĩa cho phương thức trừu tượng

name. " - Engine start...
"; } // non-abstract public function stop public function stop[] { echo $this->name. " - Engine stop...
"; } // non-abstract public function setName public function setName[$name] { $this->name = $name; } // abstract function mileage abstract public function mileage[] { } } ?>
0

name . "
"; echo "My mileage range is - 15 to 22 Km/L"; } } ?>

Chúng ta có thể có bao nhiêu lớp con tùy thích, hãy tạo một lớp khác

name . "
"; echo "My mileage range is - 35 to 47 Km/L"; } } ?>

Như đã đề cập ở trên rằng một lớp trừu tượng không thể có bất kỳ đối tượng nào, khi chúng ta đã định nghĩa các lớp con phù hợp, chúng ta có thể tạo đối tượng cho chúng

Làm cách nào để gọi phương thức lớp trừu tượng trong PHP?

Để khai báo một lớp là trừu tượng, chúng ta cần tiền tố tên của lớp với từ khóa trừu tượng . Chúng tôi đặt các phương thức trừu tượng cũng được khai báo với từ khóa trừu tượng trong lớp trừu tượng. Các phương thức trừu tượng bên trong một lớp trừu tượng không có phần thân, chỉ có tên và tham số bên trong dấu ngoặc đơn.

Làm thế nào chúng ta có thể gọi phương thức trừu tượng?

Một phương thức không có phần thân được gọi là phương thức trừu tượng. Nó chỉ chứa chữ ký phương thức với dấu chấm phẩy và một từ khóa trừu tượng trước nó. public trừu tượng myMethod[]; Để sử dụng một phương thức trừu tượng, bạn cần kế thừa nó bằng cách mở rộng lớp của nó và cung cấp triển khai cho nó.

Việc sử dụng phương thức 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. Phương thức trừu tượng là phương thức được khai báo nhưng không được triển khai trong mã .

Làm cách nào để đạt được sự trừu tượng trong PHP?

lớp trừu tượng php lớp kiểm tra { hàm trừu tượng xin chào[$name, $age];

Chủ Đề