子类调用父类方法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->变量名;如果子类中有该变量则调用的是子类中的,若没有则调用的是父类中的