Làm cách nào để đặt tên cho lớp trừu tượng PHP?

Chúng tôi sử dụng các lớp trừu tượng khi chúng tôi muốn giao cho 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 chỉ chắc chắn về tên của phương thức chứ không phải chi tiết về cách viết phương thức đó. Lấy một ví dụ, hình tròn, hình chữ nhật, hình bát giác, v.v. tất cả có thể trông khác nhau, nhưng dù sao thì tất cả đều là hình dạng 2D và do đó tất cả đều có các đặc điểm về diện tích và chu vi. Vì vậy, thật hợp lý khi nhóm mã mà chúng có điểm chung vào một lớp cha. Trong lớp cha này, chúng ta sẽ có hai thuộc tính diện tích và chu vi, và thậm chí chúng ta có thể xem xét thêm một phương thức tính diện tích (điều này có thể gặp vấn đề vì các hình dạng khác nhau yêu cầu các phép tính khác nhau). Trong những trường hợp này, khi chúng ta cần cam kết các lớp con với một số phương thức nhất định mà chúng kế thừa từ lớp cha nhưng chúng ta không thể cam kết về mã nên được sử dụng trong các phương thức, chúng ta sử dụng các lớp trừu tượng

Chúng tôi sử dụng các lớp và phương thức trừu tượng khi chúng tôi cần cam kết các lớp con với một số phương thức nhất định mà chúng kế thừa từ lớp cha nhưng chúng tôi không thể cam kết về mã sẽ được viết bên trong các phương thức

Một lớp trừu tượng là một lớp có ít nhất một phương thức trừu tượng. Các phương thức trừu tượng chỉ có thể có tên và đối số và không có mã nào khác. Vì vậy, chúng ta không thể tạo các đối tượng từ các lớp trừu tượng. Thay vào đó, chúng ta cần tạo các lớp con thêm mã vào phần thân của các phương thức và sử dụng các lớp con này để tạo các đối tượng

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

name = $name;
  }
  abstract public function introduction() : string;
}

// Child classes defining the parent classes
class Honda extends Bike {
  public function intro() : string {
    return "I am $this->name!";
  }
}

class Suzuki extends Bike {
  public function introduction() : string {
    return "I am $this->name!";
  }
}

// Objects from child classes
$honda = new honda("Honda");
echo $honda->introduction();

$suzuki= new suzuki("Suzuki");
echo $suzuki->introduction();

?>

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



name = $name;
  }
  abstract protected function introduction($model) : string;
}

// Child classes defining the parent classes
class Honda extends Bike {
  public function intro($model) : string {
    return "I am $this->name. My model is $model";
  }
}

class Suzuki extends Bike {
  public function introduction($model, $color=null) : string {
    return "I am $this->name. My model is $model and color is $color";
  }
}

// Objects from child classes
$honda = new honda("Honda");
echo $honda->introduction();

$suzuki= new suzuki("Suzuki");
echo $suzuki->introduction();
?>

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

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 cách nào để khởi tạo lớp trừu tượng trong PHP?

Bạn có thể tạo một lớp trừu tượng trong PHP bằng cách đặt trước từ khóa “lớp” bằng từ khóa “trừu tượng” . Tiếp theo, bạn có thể tiếp tục tạo các thuộc tính và chức năng như bình thường. Hơn nữa, bạn có thể tự do thêm bất kỳ số lượng phương thức trừu tượng nào vào lớp trừu tượng của mình.

Làm cách nào để đặt tên cho các tệp lớp trong PHP?

phải ở dạng chữ thường. Ngoài ra, tên tệp của lớp phải khớp với tên của chính lớp đó . Ví dụ: nếu bạn có một lớp tên là Myclass thì tên tệp của nó phải là Myclass. php.

Khi nào sử dụng lớp trừu tượng trong PHP?

Không giống như các lớp trừu tượng trong C++ trong PHP được khai báo với sự trợ giúp của từ khóa trừu tượng. Việc sử dụng các lớp trừu tượng là tất cả các lớp cơ sở triển khai lớp này sẽ cung cấp việc triển khai các phương thức trừu tượng được khai báo trong lớp cha. Một lớp trừu tượng có thể chứa các phương thức trừu tượng cũng như không trừu tượng