PHP面向对象笔记 —— 113 封装概念
2018-03-30 23:20
627 查看
/*
面向对象三大特征:
封装 继承 多态
*/
// ===代码部分1===
/*
然而在现实中,别人把你的钱减少了,显然是不合理的
所以我们要把钱设为私有的
*/
// ===代码部分2===
/*
把某些重要属性 封装起来 然后通过一个开放的接口来操作.
这就实现对属性的封装.
*/
// ===代码部分3===
/*
对于一个对象,对外界开放一个接口,
调用接口时,内部进行的操作,不需要让外界知道.
隐藏了内部的一些实现细节.
这是对方法的封装.
*/
面向对象三大特征:
封装 继承 多态
*/
// ===代码部分1===
class Human { public $money = 1000; } $lisi = new Human(); echo $lisi->money,'<br >'; //1000 // 改变一下money $lisi->money = 500; echo $lisi->money,'<br >'; //500
/*
然而在现实中,别人把你的钱减少了,显然是不合理的
所以我们要把钱设为私有的
*/
// ===代码部分2===
class Human { private $money = 1000; public function showMoney() { return $this->money * 0.8; } } $lisi = new Human(); /* 此时我们再调用或调用更改money时就会失败, 因为我们把money“封起来”了 //echo $lisi->money,'<br >'; //1000 但是,我们不能光封起来,还要能够使用才行 */ /* 我们不能直接翻别人口袋有多少钱 但可以问别人,但是别人说的不一定是真的 */ echo $lisi->showMoney(); //800
/*
把某些重要属性 封装起来 然后通过一个开放的接口来操作.
这就实现对属性的封装.
*/
// ===代码部分3===
// 封装在方法上的体现 class Human { private $money = 1000; private $bank = 2000; private function getBank($num) { $this->bank -= $num; return $num; } public function send($much) { if($much <= 1000) { $this->money -= $much; return $much; } else if($much <= $this->money + $this->bank) { $num = $much - $this->money; //计算从银行取了多少钱 $this->money += $this->getBank($num); //从银行取出钱,加到现金里 $this->money -= $much; //再把钱借给朋友 return $much; } else { $this->money -= $much; return $much; //最后若实在借不了这么多的话返回false //return false; } } public function showMoney() { return $this->money; } public function showBank() { return $this->bank; } } $lisi = new Human(); $m = $lisi->send(300); if($m) { echo '借了',$m,'元<br >'; echo '还剩下',$lisi->showMoney(),'元<br >'; } // 再借2000元 $m = $lisi->send(2000); if($m) { echo '借了',$m,'元<br >'; echo '还剩下',$lisi->showMoney(),'元<br >'; echo '银行还有',$lisi->showBank(),'元<br >'; }
/*
对于一个对象,对外界开放一个接口,
调用接口时,内部进行的操作,不需要让外界知道.
隐藏了内部的一些实现细节.
这是对方法的封装.
*/
相关文章推荐
- php面向对象基础概念(封装)
- php面向对象笔记3 封装和权限修饰符以及继承
- PHP面向对象学习笔记之一:基础概念
- PHP面向对象笔记 —— 117 继承概念
- php面向对象基础概念(封装)
- PHP面向对象笔记 —— 116 封装mysql类
- PHP面向对象学习笔记之一 基础概念
- PHP面向对象学习笔记之一 基础概念
- PHP面向对象笔记 —— 108 类与对象的概念
- 【北京圣思园学习笔记】第10讲:面向对象之封装续
- 学习笔记:面向对象概念中论
- php面向对象笔记2 构造函数和$this
- PHP面向对象继承的概念
- php学习笔记 PHP面向对象的程序设计
- PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
- (JAVA SE 学习笔记)Java.SE.第009讲.面向对象之封装
- 浙大面向对象程序设计笔记.类与对象的基本概念
- PHP面向对象错误处理笔记
- PHP面向对象笔记解析