⊗ppOpFnCl 63 of 107 menu

Lớp Trừu Tượng trong OOP PHP

Giả sử bạn có lớp User, và kế thừa từ nó là các lớp EmployeeStudent.

Trong đó, giả định rằng bạn sẽ tạo đối tượng của các lớp EmployeeStudent, nhưng không tạo đối tượng của lớp User - vì lớp này chỉ được sử dụng để nhóm các thuộc tính và phương thức chung cho các lớp kế thừa của nó.

Trong trường hợp này, bạn có thể cưỡng chế cấm tạo đối tượng của lớp User, để bạn hoặc một lập trình viên khác không vô tình tạo ra chúng ở đâu đó.

Để làm điều này, tồn tại cái gọi là các lớp trừu tượng. Các lớp trừu tượng là những lớp được thiết kế để kế thừa từ chúng. Đồng thời, không thể tạo đối tượng của các lớp như vậy.

Để khai báo một lớp là trừu tượng, cần viết từ khóa abstract khi khai báo nó:

<?php abstract class User { } ?>

Vậy, hãy viết phần triển khai của lớp trừu tượng User. Giả sử nó có thuộc tính private name, cùng với các getter và setter cho nó:

<?php abstract class User { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } } ?>

Nỗ lực tạo đối tượng của lớp User sẽ gây ra lỗi:

<?php $user = new User; // sẽ báo lỗi ?>

Nhưng việc kế thừa từ lớp của chúng ta thì sẽ có thể. Hãy tạo lớp Employee, lớp này sẽ kế thừa từ lớp trừu tượng User của chúng ta:

<?php class Employee extends User { private $salary; public function getSalary() { return $this->salary; } public function setSalary($salary) { $this->salary = $salary; } } ?>

Hãy tạo một đối tượng của lớp Employee - mọi thứ sẽ hoạt động:

<?php $employee = new Employee; $employee->setName('john'); // phương thức của lớp cha, tức lớp User $employee->setSalary(1000); // phương thức riêng, tức của lớp Employee echo $employee->getName(); // sẽ in ra 'john' echo $employee->getSalary(); // sẽ in ra 1000 ?>

Hãy tạo một lớp trừu tượng Figure, đại diện cho một hình học hình dạng. Hãy để các lớp cho hình tròn, hình chữ nhật và hình vuông kế thừa từ nó.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối