码迷,mamicode.com
首页 > 其他好文 > 详细

private、protected、public

时间:2017-07-23 12:29:52      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:word   order   table   key   weight   end   func   错误   obj   

 
private     
protected       
public
本类内     
Y Y Y
子类内     
N Y Y
外部       
N N N

 

 

 

 

 

 

 

<?php
class MyClass
{
public $public = ‘Public‘;
protected $protected = ‘Protected‘;
private $private = ‘Private‘;

function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}
$obj = new MyClass();
echo $obj->public; // 这行能被正常执行
echo $obj->protected; // 这行会产生一个致命错误
echo $obj->private; // 这行也会产生一个致命错误
$obj->printHello(); // 输出 Public、Protected 和 Private

class MyClass2 extends MyClass
{
// 可以对 public 和 protected 进行重定义,但 private 而不能
// protected $protected = ‘Protected2‘;

function printHello()
{
echo $this->public;
echo $this->protected;
echo $this->private;
}
}


$obj2 = new MyClass2();
echo $obj2->public; // 这行能被正常执行
echo $obj2->private; // 未定义 private
echo $obj2->protected; // 这行会产生一个致命错误
$obj2->printHello(); // 输出 Public、Protected 和 Undefined

?>

 

private、protected、public

标签:word   order   table   key   weight   end   func   错误   obj   

原文地址:http://www.cnblogs.com/huixuexidezhu/p/7224042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!