我正在學習 oop 并使用 PHP 練習這些概念。我想做的是有一個 classHuman和一個 class Dog。類Human將有兩個屬性:$name:string和$age:int。類Human首先被聲明,有一個方法speak()。我的問題是,當Dog擴展自時Humans,我希望它擁有Human除了方法之外的所有內容speak(),它將被其獨特的方法所取代bark()。根據我的搜索,一個解決方案是設置speak()為private,然后Dog不會繼承它。但是,當分配Human給 時$person,speak()由于它是私有的,因此也無法訪問。這只是我理解oop的一種做法。如果這是一個真正的軟件,在最佳實踐方面我應該怎么做?同樣,我是 oop 的初學者。謝謝!這是我的代碼:<?php class Human { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function speak() { } } class Dog extends Human { public function bark() { } } $people = array(); $dogs = array(); array_push($dogs, new Dog("Rocky", 4)); array_push($people, new Human("Carlos", 21)); $people[0]->speak(); $dogs[0]->bark();?>
- 1 回答
- 0 關注
- 93 瀏覽
添加回答
舉報
0/150
提交
取消