KẾ THỪA NHIỀU LỚP TRONG PHP

Loạt bài viết về Lập trình hướng đối tượng người tiêu dùng trong PHPhường có 4 phần, hiện nay ai đang tại phần 2.

Bạn đang xem: Kế thừa nhiều lớp trong php

Phần 2: Tính kế thừa.

1. Mlàm việc đầu

Trong phần một họ sẽ được làm thân quen cùng với những thuật ngữ cơ bạn dạng như class, object, tính mô đun hóa cùng tính trìu tượng vào OOPhường. Trong nội dung bài viết tiếp theo sau này, các bạn sẽ cùng chúng tôi khám phá đều vấn đề chủ chốt của OOP.. là tính kế thừa, tính đóng gói, giải pháp ghi đtrằn cách làm trong kế thừa và cuối cùng là phạm vi truy vấn những thành phần nằm trong lớp. Sự quá kế vào class là 1 trong những class bao gồm bắt đầu xuất phát điểm từ 1 class không giống, cũng tương tự bé bạn, con cháu được thừa kế rất nhiều phẩm hóa học từ bỏ cha mẹ. Trong thế giới phía đối tượng, các phđộ ẩm chất này là những thuộc tính với cách tiến hành. Thông qua thừa kế, một class được “sinch ra” cùng với thuộc trực thuộc tính với thủ tục của class nhưng nó thừa kế, lớp kế thừa thậm chí là còn tồn tại số đông phđộ ẩm hóa học riêng mà lại phụ huynh không tồn tại.


*

Trong ngôi trường vừa lòng này, lớp ChildrenClass kế thừa ParentClass nhưng mà không tồn tại số đông phđộ ẩm chất riêng biệt nào. Trong sơ thứ UML tiếp theo, các class nhỏ là ChildrenClass1 cùng ChildrenClass2 đang thừa kế với phát huy, nó vẫn bao hàm "phẩm chất" riêng rẽ.

*

Sự kế thừa rất có thể diễn ra những "đời" trong lập trình phía đối tượng, giới hạn max mốc giới hạn kế thừa. Chúng ta thuộc coi sơ thiết bị UML tiếp sau, lớp ChildrenClass kế thừa trường đoản cú ParentClass, lớp GrandChildClass lại thừa kế từ bỏ ChildrenClass.

*

Khi chúng ta tư tưởng một class bằng phương pháp thừa kế một class không giống, sẽ không còn mất thời hạn nhằm xây cất lại class. Quý khách hàng có thể thêm các nằm trong tính và thủ tục bắt đầu, tuy nhiên chúng ta có thể chuyển đổi hành vi những cách tiến hành được kế thừa trường đoản cú lớp cha? Nếu biến đổi định nghĩa lớp cha đã dẫn mang lại các lớp thừa kế khác bị ảnh hưởng. Ttốt vào đó, chúng ta có thể ghi đè phương thức được thừa kế tự lớp thân phụ trong lớp con. Đây chính là tính đa hình vào OOPhường., vị trí mà Hotline cùng một phương thức vẫn cho các công dụng khác biệt dựa vào vào loại đối tượng người sử dụng. Các yếu tố class có thể truy tìm nhập cùng biến đổi một class không giống, điều đó đôi lúc không tốt và vào xây dựng hướng đối tượng có mang phạm vi truy cập (visibility) xuất hiện thêm, nó tất cả giới thiệu các phạm vi thay đổi những nguyên tố của class.

2. Sự kế thừa class

Một trong những phương pháp để xây dựng nkhô nóng là kĩ năng sử dụng lại các quan niệm class, quá trình này đó là thừa kế. Trngơi nghỉ lại với ví dụ về class User, class này còn có những nằm trong tính username, userId, tin nhắn, password với gồm những thủ tục là login, logout. Quý khách hàng hoàn toàn có thể tạo ra một class không giống là Admin, nó được mở rộng trường đoản cú User. Một đối tượng người dùng Admin rất có thể gồm thêm trực thuộc tính accessLevel và cách làm editUser.

*

Như vậy thân nhị class bao gồm một mối quan hệ “is a”, Admin là 1 trong những dạng của User. Để chế tạo ra một class bé tự class cha, sử dụng từ bỏ khóa extends. Nếu chúng ta sẽ định nghĩa lớp ClassName ngơi nghỉ bài bác trước, bạn có thể chế tác một lớp bé nlỗi sau:

class ChildClass extends ClassName Class ChildClass sẽ có các yếu tắc của lớp thân phụ ClassName, bạn có thể thay đổi ChildClass để thỏa mãn nhu cầu những kinh nghiệm riêng biệt mà lại ko biến đổi gì lớp phụ thân ClassName. Chụ ý: Để kiểm tra xem một đối tượng người tiêu dùng bao gồm yêu cầu là 1 trong những thực thể của class như thế nào kia không áp dụng trường đoản cú khóa instanceof

if ($obj instanceof "ClassName") // $obj là 1 trong thực thể của lớp ClassName Chúng ta thuộc thực hành định hướng trên với 1 ví dụ rõ ràng, sản xuất tệp tin inheritance.php vào tlỗi mục C:/xampp/htdocs/OOP (Xem phần 1 nhằm thiết đặt môi trường thực hành cho loạt bài bác Lập trình hướng đối tượng người dùng vào PHP).

lấy ví dụ như về kế thừa vào lập trình phía đối tượng người tiêu dùng name = $pet_name; } // Vật nuôi rất có thể ăn function eat() eđến "$this->name sẽ ăn.

Xem thêm: việc làm php hcm

"; // Vật nuôi hoàn toàn có thể ngủ function sleep() emang lại "

$this->name sẽ ngủ.

"; } // End of Pet class. /* Class Mèo kế thừa class Vật nuôi * Mèo gồm thêm phương thơm thức: climb(). */ class Cat extends Pet // Mèo hoàn toàn có thể trèo tường function climb() emang đến "

$this->name đang trèo tường.

"; // End of Cat class. /* Class chó thừa kế class Vật nuôi * Chó bao gồm thêm phương thơm thức: fetch(). */ class Dog extends Pet // Chó có thể mang đồ vật về. function fetch() eđến "

$this->name sẽ lấy đồ vật đến nhà.

"; // End of Dog class. #------------ KẾT THÚC ĐỊNH NGHĨA CLASS ----------------------# // Tạo một con chó thương hiệu Jonh $dog = new Dog("Jonh"); // Tạo một bé mèo thương hiệu Mimãng cầu $cát = new Cat("Mina"); // Cho nhì bé này nạp năng lượng $dog->eat(); $cat->eat(); // Cho hai con vật này ngủ $dog->sleep(); $cat->sleep(); // Chó thì bắt lấy dụng cụ còn mèo bắt trèo tường $dog->fetch(); $cat->climb(); // Xóa đối tượng người sử dụng khi không cần sử dụng mang lại unset($dog, $cat); ?>