Override(Ghi đè dữ liệu của class cha ) là hiện tượng xảy ra khi thuộc tính hoặc phương thức củaclass con trùng tên với thuộc tính hoặc phương thức của class cha.
Hậu quả của Override: Làm mất dữ liệu của class cha.
Để tránh Override ta có thể sử dụng từ khóa Parent hoặc Final trong PHP
Để hiểu rõ hơn về Override trong PHP, Tôi và các bạn cùng tìm hiểu ví dụ sau.
Ở ví dụ trên, Class b là class kế thừa từ Class a.
$obj là đối tượng được khởi tạo từ class b.
Về mặt kế thừa, khi gọi đến phương thức getName() từ $obj, ta sẽ nhận được kết quả là Nguyễn Văn A. Tuy nhiên, trong trường hợp này, class b cũng định nghĩa phương thức getName()
Vì vậy, kết quả là phương thức getName() của class a bị Override bởi phương thức getName() của class b. Nên kết quả ta nhận được là Nguyễn Văn B.
Để tránh Override phương thức getName() của class a. Trong phương thức getName() của classb ta đặt parent::getName() như hình bên dưới
Lúc này kết quả ta được là Nguyễn Văn A và Nguyễn Văn B
Các bạn có thể download source code về chạy thử để hiểu rõ hơn