Trong bất kỳ ứng dụng phần mềm nào, không phải tất cả logic của chương trình đều được hiển thị cho người dùng cuối. Với sự trợ giúp của OOP, việc triển khai mã vẫn bị ẩn, được gọi là trừu tượng hóa dữ liệu. Hướng dẫn này giải thích lớp Trừu tượng và cách nó liên quan đến cách tiếp cận hướng đối tượng của PHP. Chúng ta cũng sẽ xem cách triển khai một lớp trừu tượng với một số ví dụ
Mục lục
- Lớp trừu tượng là gì?
- Khai báo một lớp trừu tượng
- Khai báo các phương thức trừu tượng
- Mở rộng một lớp trừu tượng
- Sử dụng các lớp trừu tượng
- Thuộc tính trừu tượng
- Phần kết luận
Lớp trừu tượng là gì?
Một lớp trừu tượng trong PHP là một lớp không thể tự khởi tạo nhưng có thể được mở rộng bởi các lớp khác. Một lớp trừu tượng là một kế hoạch chi tiết cho một hoặc nhiều lớp dẫn xuất. Nó định nghĩa một tập hợp các phương thức phổ biến mà các lớp dẫn xuất phải triển khai, nhưng nó không cung cấp cách triển khai cho các phương thức đó
Lớp trừu tượng là sự kết hợp giữa lớp và giao diện. Nó chỉ định cả chức năng và giao diện người dùng. Chúng ta không thể khởi tạo một lớp trừu tượng và mọi lớp trừu tượng có ít nhất một phương thức trừu tượng phải là trừu tượng. Nếu chúng ta định nghĩa một Phương thức là trừu tượng, nó biểu thị Chữ ký của Phương thức
Khai báo một lớp trừu tượng
Để khai báo một lớp trừu tượng trong PHP, hãy sử dụng từ khóa
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
5 trước từ khóa abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
6. Dưới đây là một ví dụ về cách khai báo một lớp trừu tượngThí dụ
abstract class Shape {
}
Khai báo các 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 trong một lớp trừu tượng nhưng không có triển khai. Các phương thức trừu tượng được sử dụng để định nghĩa giao diện cho một lớp nhưng để lại việc triển khai cho lớp con
Để khai báo một phương thức trừu tượng trong PHP, hãy sử dụng từ khóa
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
5 trước chữ ký phương thức. Các phương thức trừu tượng không được có phần thân, vì chúng không có phần triển khaiabstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
Trong ví dụ trên, lớp
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
8 có hai phương thức trừu tượng, abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
0 và abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
1, phải được triển khai bởi bất kỳ lớp nào mở rộng ShapeMở rộng một lớp trừu tượng
Để tạo một lớp mới mở rộng một lớp trừu tượng, hãy sử dụng từ khóa
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
2. Lớp con phải thực hiện tất cả các phương thức trừu tượng được khai báo trong lớp chaThí dụ
class Circle extends Shape {
private $radius;
public function __construct[$radius] {
$this->radius = $radius;
}
// Implementing the abstract methods
public function area[] {
return pi[] * pow[$this->radius, 2];
}
public function perimeter[] {
return 2 * pi[] * $this->radius;
}
}
Trong ví dụ trên, lớp
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
3 mở rộng lớp abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
8 và triển khai các phương thức abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
0 và abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
1Sử dụng các lớp trừu tượng
Để sử dụng một lớp trừu tượng, bạn phải tạo một thể hiện của lớp dẫn xuất thực hiện tất cả các phương thức trừu tượng của lớp trừu tượng. Bạn không thể tự tạo một thể hiện của lớp trừu tượng
Đây là một ví dụ về cách sử dụng lớp
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
3 mà chúng tôi đã định nghĩa ở trênabstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
0Thuộc tính trừu tượng
Ngoài các phương thức trừu tượng, một lớp trừu tượng cũng có thể có các thuộc tính trừu tượng. Các thuộc tính trừu tượng giống như các phương thức trừu tượng, nhưng không có phần thân và được khai báo bằng từ khóa
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
8Dưới đây là một ví dụ về một lớp trừu tượng với một thuộc tính trừu tượng
Thí dụ
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
2Lớp dẫn xuất phải định nghĩa giá trị của thuộc tính trừu tượng. Dưới đây là một ví dụ về lớp dẫn xuất xác định giá trị của thuộc tính
abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
9abstract class Shape{
// Abstract methods
abstract public function area[];
abstract public function perimeter[];
}
4Phần kết luận
Các lớp trừu tượng là một công cụ hữu ích trong lập trình hướng đối tượng, vì chúng cho phép bạn định nghĩa một giao diện cho một lớp và để việc triển khai cho các lớp con. Hãy nhớ rằng các lớp trừu tượng không thể được khởi tạo trực tiếp và các lớp con phải thực hiện tất cả các phương thức trừu tượng được khai báo trong lớp cha