子類調用父類方法php
❶ php中子類有構造函數如何調用父類中的構造函數,最好能舉個簡單的例子
class A{
function __contruct($num){
echo "aaa";
}
}
class B extends A{
function __contruct(){
echo "bbb";
A:: __contruct($num) //第一種調用父類構造函數的方法
parent:: __contruct($num) //第二種調用父類構造函數的方法
}
}
❷ PHP子類怎麼調用父類的屬性
<?php
class Perpon {
private $Pid;
private $Pname;
private $Page;
private $Psex;
private $Pbirthday;
public function __construct($Pid,$Pname,$Page,$Psex,$Pbirthday)//PHP5中間的構造函數
{ $this->Pid=$Pid;
$this->Pname=$Pname;
$this->Page=$Page;
$this->Pbirthday=$Pbirthday;
echo "創建了一個對象"."<br>";
}
public function __set($name,$value) {
$this->$name=$value;
}
function show(){
echo ("我的姓名:$this->Pname,我的年齡:$this->Page,我的性別是:$this->Psex,我的生日是$this->Pbirthday <br>"); }
public function __get($name) { return $name; }
public function dining() { echo "$this->Pname 正在吃飯 <br>"; }
public function shuohua() { echo "$this->Pname喜歡說話 <br>"; }
public function gaosu() { echo "我的姓名叫做$this->Pname <br>"; }
public function IT() { echo $this->Pname."的工作是IT行業 <br>"; }
}
class Student extends Perpon {
public function __construct()//PHP5中間的構造函數
{ echo "子類的構造函數"; }
public function IT()//PHP5中間的構造函數
{ parent::IT();
echo $this->Pname."的工作是學生<br>";
}
}
$perpon=new Perpon('1','zhangsan','18','男','9月23'); $perpon->show(); $perpon->dining(); $perpon->shuohua(); $perpon->gaosu(); $perpon->IT();
echo "<hr>";
$student=new Student(); $student->IT();?>
調不到的原因是:
private $Pname;
記住:private只能自己調用,其他是不行的,這一點你自己記住即可。
❸ PHP子類調用父類
繼承,子類繼承父類,父類的方法子類會有,子類也可以寫自己的方法,這就是父類和子類多態表現。
❹ PHP子類怎麼調用父類的屬性
父類的Pname
是
private
類型,也就是私有的只能父類自己的
函數調用
,子類以及外部是無法調用的。
如果這個變數只允許本類方法調用
應該用
private
方式調用,如果允許本類以及子類調用應該用
protected
保護)修飾,如果希望外部調用則應該用
public
公開修飾。這三個關鍵詞對函數同樣有效。
我把php.net關於這個的說明放在下面參考資料裡面了,你可以仔細看下。
❺ php子類可以繼承和訪問父類的私有屬性和方法嗎
你這樣理解也可以,當父類有私有的方法和屬性,子類是繼承不到的,所以子類不能訪問父類的私有方法和屬性。java
特性,private:類中只要限定為private的成員,只能被這個類本身訪問
❻ php的子類能夠調用父類的方法么
<?php
classA{
functiontest(){
echo"hello!";
}
}
classBextendsA{//若A類和B類不在同一文件中請包含後(include)再操作
functiontest2(){
parent::test();//子類調用父類方法
echo"test2";
}
}
$a=newB();
$a->test();//hello!
$a->test2();//hello!test2
?>
❼ php子類怎麼調用父類方法
<?php
classA{
staticpublic$m=1;
staticpublicfunctionm(){
echostatic::$m,'';
}
staticpublicfunctionn(){
static::n();
}
publicfunctionl(){
echo'父類方法';
}
}
classBextendsA{
staticpublic$m=111;
staticpublicfunctionm(){
parent::m();
}
staticpublicfunctionn(){
echoparent::$m,'';
}
}
B::m();
B::n();
$b=newB();
$b->l();
❽ php子類調用父類的父類方法嗎
這里有兩個問題啊,如果要調用,直接調用不就行了。
繼承的話,不可以,php單繼承,你只能繼承你父類。比如說一個父親可以有好多兒子,這些兒子都可繼承他的財產,但是他的孫子只能繼承他兒子的財產不能繼承他的財產。
❾ PHP怎麼在子類用父類的魔術方法
父類的魔術方法:
function __construct()
{
echo '我是父類的構造函數(魔術方法)';
}
function __unset()
{
echo '我是父類的銷毀方法(魔術方法)';
}
子類調用
function index()
{
parent::__construct();
parent::__unset();
}
輸出:
我是父類的構造函數(魔術方法)
我是父類的銷毀方法(魔術方法)
❿ php 子類中如何調用父類的變數和方法
<?php class A{ public $a1='a1'; protected $a2='a2'; function test(){ echo "hello!<hr/>"; } } class B extends A{//若A類和B類不在同一文件中 請包含後(include)再操作 public $a1='b1'; function test2(){ $this->test(); parent::test();//子類調用父類方法 } function test() { echo $this->a1.','; echo $this->a2.','; echo "b2_test_hello<hr/>"; } } $a = new B(); $a->test();//b1,a2,b2_test_hello $a->test2();//b1,a2,b2_test_hello//hello! ?>方法的調用:$this->方法名();如果子類中有該方法則調用的是子類中的方法,若沒有則是調用父類中的 parent::則始終調用的是父類中的方法。 變數的調用:$this->變數名;如果子類中有該變數則調用的是子類中的,若沒有則調用的是父類中的