访问控制
2015-07-04 10:52
459 查看
探究public , private , protected三种类型的数据的访问控制
其中public能被自身 , 子类 ,外部 访问;
protected 能被自身和子类访问,不能被外部直接访问;
private 只能被自身访问,不能被子类和外部访问。
其中public能被自身 , 子类 ,外部 访问;
protected 能被自身和子类访问,不能被外部直接访问;
private 只能被自身访问,不能被子类和外部访问。
<?php class Human{ public $name; protected $height; //只有自身和子类能被访问 public $weight; private $isHungry = true; //不能被子类访问 public function eat($food) { echo $this->name." is eating ".$food."<br/>"; } public function info() { //通过自身调用private数据传到外部 echo "HUMAN:".$this->name.";".$this->height.";".$this->isHungry ."<br/>"; } } class NbaPlayer extends Human{ public $team="Bull"; public $playerNumber="23"; private $age = "40";//private的类成员只能在内部被访问 function __construct($name,$height,$weight,$team,$playerNumber) { echo "In NbaPlayer constructor"."<br/>"; $this->name = $name; $this->height = $height; $this->weight = $weight; $this->team = $team; $this->playerNumber = $playerNumber; // echo $this->isHungry."<br/>"; 调用出错 } function __destruct() { echo "Destroying".$this->name."<br/>"; } //方法定义 public function run() { echo "Running"."<br/>"; } public function jump() { echo "Jumping"."<br/>"; } public function dribble() { echo "Dribbling"."<br/>"; } public function shoot() { echo "shooting"."<br/>"; } public function dunk() { echo "Dunking"."<br/>"; } public function pass() { echo "passing"."<br/>"; } public function getAge() { //通过子类调用protected的数据,传到外部访问 //外部不能直接访问,所以可以在内部对数据进行改动,使外部不能得到真实数据 echo $this->name."'s age is ".($this->age-2) ."<br/>"; } } $jordan = new NbaPlayer("Jordan","198cm","98kg","Bull","23"); $jordan->getAge() ."<br/>"; //$jordan->height; 直接访问height会出错 $jordan->info();
相关文章推荐
- 带你认识LabVIEW和MATLAB
- 把你的代码卸载到GPU(用GPU编程):如何开始
- error C2065: “list”: 未声明的标识符
- 文章标题
- C语言 常用函数
- 机器人视觉技术的关键所在
- Factory Pattern 工厂模式
- 查找同构数的数量
- java深入解析-第1章 基本概念2
- 音乐播放
- 【动态规划】HDU 1003 Max Sum
- iOS --- UITableView的优化技巧
- 备忘录
- 最近的题越来越难了,卧槽,搞一上午一题不会,题解也看不懂
- icon font字体图标字库汇总
- Tip:Outlook MAPI客户端连接exchange 2010服务器的session限制
- CABasicAnimation animationWithKeyPath 一些规定的值
- Gson 使用
- 微信公众平台开发- 获取用户基本信息
- Bitmap Font