您的位置:

php调用父类的成员,php子类调用父类属性

本文目录一览:

php中self的真正含义是什么?为什么可以调用父类 的成员和方法? - PHP进阶讨论

self对应static$this是非static这两者总和相当于Java里面的thisparent相当于Java里面的super我问你

你要在子类中执行父类的构造器怎么执行?TankMe

发表于

2009-9-9

16:19[i]self是这个类。this是这个类现在创建的对象。而不是单纯的只指静态非静态。self从理论上在php里是可以调用任何东西的。。。php6可以支持直接调用静态和非静态。因为他是和::符配合的。。。只要是这个类里面的任何成员和方法都能调用。。。你把php所有错误提示关闭。就可以执行。。。我记得我以前测试过一下的。。。php5貌似会抛出一个warring。。我忘记当时测试的结果了。但是从文档上看到得这理论是可行的

php继承一个父类,如何自动执行父类方法

你在父类写一个成员函数 然后子类继承  创建子类对象的时候 可以点出来父类的成员函数

比如

Student zs = new Student();

zs.SayHello()  //点出来的是从父类的继承来的成员函数

输出结果为父类的-我是人类

public class Person

{

    public void SayHello()    //这只是父类的SayHello

    {

        echo"我是人类";    

    }    

}

public class Student:Person    //已经继承了Person父类

{

    //我什么都没写

}

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 class A{

 public $a1='a1'; 

 protected $a2='a2';

class B extends A{

//若A类和B类不在同一文件中 请包含后(include)再操作

 public $a1='b1';

  function test() { 

      echo $this-a1.','; echo $this-a2.','; echo "b2_test_hellohr/";

   }

    } 

    $a = new B(); 

    $a-test();

    //b1,a2,b2_test_hello 

    $a-test2();//b1,a2,b2_test_hello//hello! 

    ?

变量的调用:$this-变量名;如果子类中有该变量则调用的是子类中的,

若没有则调用的是父类中的

PHP中,为什么子类可以访问父类的私有属性,而且可以直接调用

你写的不对哦。

按你写的,

name

是子类是属性,而不是父类的。

这样:

?php

class

Person

{

private

$name="zhangsan";

}

class

Man

extends

Person

{

}

$m

=

new

Man();

//$m-name="zhangsan";

echo

$m-name;

?

php子类可以继承和访问父类的私有属性和方法吗

你这样理解也可以,当父类有私有的方法和属性,子类是继承不到的,所以子类不能访问父类的私有方法和属性。java

特性,private:类中只要限定为private的成员,只能被这个类本身访问