您的位置:首页 > 编程语言 > PHP开发

PHP入门(8) 面向对象(1) 方法和属性的覆盖 访问父类

2016-07-16 15:27 323 查看

1.子类无法访问父类private 属性和方法

2.不支持方法的重载

<?php

class _Parent{
//子类中无法访问父类private属性 protected可以
private  $data = "parent";
protected   $data2 = "protected data";

public function _print()
{
echo $this->data . "<br>";
}
}

class childA extends _Parent{
}

class childB extends _Parent{

protected $data = "childB";
// 覆盖父类的属性
// 覆盖父类的方法
public function _print()
{
echo $this->data . "<br>";
}
}

class childC extends _Parent{
public  function  other(){
// echo  $this->data; 错误 不能访问父中 private属性
echo  $this->data2;
}
//错误  无法重载方法 若要重写  必须参数和返回值相同
public  function _print($d)
{
echo  $this->data2 . $d;
}
}

$A = new childA();
$B = new childB();
$C = new childC();
$A->_print();
$B->_print();
$C->other();
//错误 PHP不支持方法的重载
$C->_print(",hi");
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: