1樓:匿名使用者
這兩句沒問題
$student1->dance();
$student1->say();
問題出在這三句:
$student1->name='zhangsan';
$student1->age=20;
$student1->gender='male';
這三個都是私有成員,不能直接賦值,可以在基類中實現公共的set方法或者建構函式來賦值。
2樓:隋龍飛
因為父類的私有屬性是不可訪問的。子類繼承的時候,當然也就不存在這3個屬性,所以咯,也沒有辦法賦值和取值了。
3樓:匿名使用者
簡單解決
class humanbeing{
private $name;
private $age;
private $gender;
修改為public $name;
public $age;
public $gender;
php的抽象類被子類繼承後,子類例項什麼訪問不了父類的變數?
4樓:花臂華盛頓
<?php
abstract class aa
}class bb extends aa
function vvv()
}$p = new bb();
$p->vvv();
?>
構造bai方du法zhi寫dao錯版
了權__construct
php如何通過子類繼承父類共有方法訪問父類私有屬性
在php裡,子類是不是可以繼承父類的私有屬性,但不能訪問啊?
5樓:
private表示私有的,只有本類內部可以使用。如果不想繼承但又能在外部使用 ,用protected。
/*例項一個student的物件,此時注意,這個物件並不會繼承父類humanbeing的三個 private變數$name,$age,$gender*/
$student1->name='zhangsan';
$student1->age=20;
$student1->gender='male';
/*這裡需要注意.很多人會誤以為是給父類humanbeing的三個屬性賦值了,這是錯的。這裡的賦值,僅僅是給子類student的三個屬性賦值。
上面的這三行**,僅僅是子類student的三個屬性賦值,和父類humanbeing的三個屬性,沒有任何關係,僅僅名字一樣而已*/
function say() and i am years old. i am .";}
/*這個是父類humanbeing的公有方法,(預設的是public的),這個方法中 $this -> name.這裡的$this 是指父類student,$this -> name是指父類student的屬性,從始至終,它並沒有被賦值,所以它是空的,(而且它也不能被賦值,因為是private),這裡的$student1->name='zhangsan';賦值操作,僅僅是修改子類student的$name */
6樓:
用print_r來檢測一下這個物件
註釋掉的時候
print_r($s1);
student object
([name:person:private] => ys)告訴我們name是person類私有的屬性當沒註釋掉的時候
print_r($s1);
student object
([name:person:private] => ys[name] => 子類
)告訴我們name是person類私有的屬性,有給student類新增了一個name屬性
我們還註釋掉,再修改如下
$s1 = new student();
$s1->name = '子類'; //新增一個屬性為name$s1->say();
跟上面一樣的結果
從這些除錯結果分析,繼承跟訪問可以這樣說是一個概念,私有不可以繼承過來。
你繼承的時候加的那個$this->name是又新新增了一個name屬性,跟父類的name屬性無關
在php裡,子類是不是可以繼承父類的私有屬性,但不能訪問?
7樓:
用print_r來檢測一下這個物件
註釋掉的時候
print_r($s1);
student object
([name:person:private] => ys)告訴我們name是person類私有的屬性回當沒註釋掉答的時候
print_r($s1);
student object
([name:person:private] => ys[name] => 子類
)告訴我們name是person類私有的屬性,有給student類新增了一個name屬性
我們還註釋掉,再修改如下
$s1 = new student();
$s1->name = '子類'; //新增一個屬性為name$s1->say();
跟上面一樣的結果
從這些除錯結果分析,繼承跟訪問可以這樣說是一個概念,私有不可以繼承過來。
你繼承的時候加的那個$this->name是又新新增了一個name屬性,跟父類的name屬性無關
無法訪問c盤,無法訪問C盤
鈔多 那你就是中毒了,去下個登錄檔修復器 進安全模式看能開啟c盤不,如果能開啟就進去把裡面的可疑的隱藏檔案給刪了他 開始 管理工具 本地安全策略,看看是不是c盤的訪問許可權太高了,改一下 開始 管理工具 本地安全策略,看看是不是c盤的訪問許可權太高了,改一下 開始 管理工具 本地安全策略,看看是不是...
手機無法訪問網路是怎麼回事,手機無法訪問網路怎麼辦?
若手機無法通過移動資料上網,建議您 1.下滑螢幕頂簾開啟移動資料。2.若以上操作後仍無法上網,建議重置手機上網引數 設定 行動網路 接入點名稱 更多 重置為預設設定。3.更換其他sim卡或換個時間段嘗試,排除網路問題。4.將手機升級至最新版本。5.若無效,請備份手機中資料將機器恢復出廠設定。若問題依...
無法訪問工作組
1全部是不是你想訪問他的電腦裡面的檔案呢?不同的工作組是不能互相訪問的 這樣解決 1 滑鼠右擊我的電腦點 屬性 2 然後點 計算機名 3 點 更改 然後彈出的對話方塊裡面輸入你想加入的工作組名稱4 重新啟動電腦 5 在網路上的芳鄰里面就可以找到你加入工作組的電腦了 昏倒,什麼亂七八糟的,登錄檔都出來...