Phương pháp lớp php
Để hiểu được phần hướng dẫn này, bạn nên hiểu các biến căn bản về hàm, biến, cấu trúc điều kiện và vòng lặp. Bài hướng dẫn về lập trình hướng đối tượng với php được trình bày từ bước 18 đến bước 22. Bước 18. Thừa kế – sử dụng lại mã lệnh Thừa kế là một trong những tính năng quan trọng trong OOP, nơi mà bạn có thể sử dụng một lớp như là lớp cơ sở đặc biệt cho một hoặc nhiều lớp khác Tại sao cần phải làm điều đó? Điều này cho phép bạn sử dụng lại mã hiệu đã có trong lớp cơ sở Bạn muốn tạo một lớp mới là Nhân viên. Chúng ta có thể hiểu rằng Nhân viên là một kiểu của Người trong lớp, Người trong lớp chia sẻ một số thuộc tính và phương thức Trong trường hợp này, việc thừa kế có thể làm cho mã của bạn nhẹ nhàng hơn … bởi vì bạn đang sử dụng cùng một mã trong hai lớp khác nhau Please see after code // 'extends' là từ khóa sử dụng trong khai báo kế thừa. class Employee extends Person { function __construct($Employee_name) { $this->set_name($Employee_name); } } Bước 19. Sử dụng lại mã với kế thừa – phần 2 Lưu ý. Có thể hiểu Nhân viên là một kiểu người class Employee extends Person { function __construct($Employee_name){ $this->set_name($Employee_name); } } Please quan sát cách chúng ta sử dụng phương thức set_name() trong Layer Employee, mặc dù chúng ta không khai báo phương thức đó trong Layer Employee. Đó là bởi vì chúng ta đã tạo ra set_name() trong Person lớp Bước 20. Sử dụng lại mã với kế thừa – phần 3 get_name(); $james = new Employee("Johnny Fingers"); echo "---> " . $james->get_name(); ?> Đây là một ví dụ điển hình về cách OOP có thể giảm số lượng dòng lệnh (tức là không phải viết lại phương thức get_name() trong Lớp nhân viên) và dễ dàng hơn nhiều việc bảo đảm mã lệnh Bước 21. Ghi đè phương thức (overriding methods) Trong kế thừa, đôi khi bạn cần phải thay đổi cách một phương thức hoạt động từ lớp cơ sở name = strtoupper($new_name); } } } class Employee extends Person{ protected function set_name($new_name) { if ($new_name == "Stefan Sucks"){ $this->name = $new_name; } } } ?> Lưu ý. Cách hoạt động của phương thức set_name() trong lớp Nhân viên khác với cách hoạt động của phương thức set_name() trong lớp Người Bước 22. Ghi đè phương thức – phần 2 Khi bạn cần truy cập vào phương thức của lớp cha từ phương thức của lớp con, hãy sử dụng ký hiệu Trong ví dụ trước, chúng tôi đã cài đặt lại phương thức set_name() trong lớp Nhân viên. Chúng ta sử dụng command after để truy cập vào phương thức set_name() của layer cha from layer con Người. set_name($new_name); Mã lệnh name = $Persons_name; } public function get_name() { return $this->name; } // các phương thức và thuộc tính khi được khai báo là protected và protected // nhằm hạn chế truy xuất protected function set_name($new_name) { if ($this->name != "Jimmy Two Guns") { $this->name = strtoupper($new_name); } } } // từ khóa extends được sử dụng khi khai báo kế thừa class Employee extends Person { protected function set_name($new_name) { if ($new_name == "Stefan Sucks") { $this->name = $new_name; } else if ($new_name == "Johnny Fingers") { Person::set_name($new_name); } } function __construct($Employee_name) { $this->set_name($Employee_name); } } ?> Lưu ý. Use symbol. allow you access to the method of a layer Person::set_name() Cho phép truy cập vào phương thức set_name() của Layer Person Một cách khác để truy xuất các phương thức của lớp cha từ lớp con được sử dụng khi sử dụng từ khóa cha mẹ protected function set_name($new_name) { if ($new_name == "Stefan Sucks") { $this->name = $new_name; } else if ($new_name == "Johnny Fingers") { parent::set_name($new_name); } } Kết luận Trong phần này chỉ đề cập đến các vấn đề cơ bản của OOP trong PHP. Hãy nhớ rằng cách tốt nhất để hiểu rõ về vấn đề là cần viết mã Hãy tạo ra 10 đối tượng đơn giản từ các lớp đã xây dựng ở trên, sau đó sử dụng các đối tượng này để thao tác với các thuộc tính và phương thức, bạn cần xem kết quả trên trang php |