`

面向对象设计 4 —— PHP5面向对象进阶(属性的访问控制)

    博客分类:
  • PHP
阅读更多
<?
//访问控制
//在PHP5中,可以在类的属性和方法前面加上一个修饰符(modifier),
//来对类进行一些访问上的控制。
/**
* 修饰符      同一个类中       子类中         全局
* private     Yes             
* protected   Yes              Yes
* public      Yes              Yes           Yes(默认)
*
* Private的访问权限
* private 不能直接被外部调用,只能由当前对象调用。
* 前面介绍过关于封装的内容.这里不再重复。
* 比如你可以借钱给别人,但不希望别人知道你钱包里面有多少钱。
* 我们把它用private隐藏起来。 
*/

class You{
	private $youMoney = 1000;
	//借出钱的方法
	public function loan($number){
		if($this->youMoney >= $number){
			$this->youMoney = $this->youMoney - $number;
			echo "好,这里借给你 $number 元<br>";
		}else{
			echo "我无法借给你 $number ,我没有那么多钱<br>";
		}
	}
}
$you = new You();
$you->loan(300);
$you->loan(600);
$you->loan(500);

echo $you->youMoney;//会出异常,私有变量不能被外界访问
?>


<?
//protected 修饰的属性和方法只能被子类调用。外界无法调用。
class You{
	protected $youMoney = 1000;
	//借出钱的方法
	public function loan($number){
		if($this->youMoney >= $number){
			$this->youMoney = $this->youMoney - $number;
			echo "好,这里借给你 $number 元<br>";
		}else{
			echo "我无法借给你 $number ,我没有那么多钱<br>";
		}
	}
}

class YouSelf extends You{
	public function getMoney(){
		return $this->youMoney;
	}
}

$youSelf = new YouSelf();
$youSelf->loan(900);//借钱

echo "老婆,我这里还有 ".$youSelf->getMoney()."元";

//echo youSelf->youMoney;//出现异常,变量不能被外界访问
?>


<?
//Public 修饰的属性和方法,可以被无限制的调用。
class You{
	public $youMoney = 1000;
	//借出钱的方法
	public function loan($number){
		if($this->youMoney >= $number){
			$this->youMoney = $this->youMoney - $number;
			echo "好,这里借给你 $number 元<br>";
		}else{
			echo "我无法借给你 $number ,我没有那么多钱<br>";
		}
	}
}

$you = new You();
//不用借钱,可以直接拿了
$you->youMoney = $you->youMoney - 5000;
echo "我现在只有".$you->youMoney;
echo "<br>钱那里去了我也不知道";
//数据危险,所以要通过封装保护数据安全
?>
  • 2.zip (3.6 KB)
  • 下载次数: 7
分享到:
评论

相关推荐

    面向对象设计 5 —— PHP5面向对象进阶(重写(override))

    本教程主要探讨PHP5的面向对象进阶特性,特别是类的重写(Override)机制。通过以下列出的源码文件,我们可以深入理解这一概念。 1. **重写(Override)** 在面向对象编程中,子类可以重写父类的方法,以便实现不同...

    面向对象设计 6 —— PHP5面向对象进阶(关键字 this)

    面向对象设计是编程领域中的一个重要概念,特别是在PHP5中,它引入了丰富的面向对象特性,使得PHP成为了一种更加强大的面向对象编程语言。本文将深入探讨PHP5中的"this"关键字,它是面向对象编程中一个至关重要的...

    面向对象设计 3 —— PHP5面向对象进阶(类的继承)

    在PHP5中,面向对象编程(Object-Oriented Programming,OOP)是现代Web开发中的核心概念,极大地提升了代码的可读性、可维护性和复用性。本篇将深入探讨PHP5中的类的继承这一关键特性,以及如何在实际项目中应用。 ...

    php5面向对象

    面向对象进阶 #### 构造函数与析构函数 - **构造函数**:`__construct()`,用于初始化新创建的对象。 - **析构函数**:`__destruct()`,当对象被销毁时自动调用。 #### 继承 PHP5支持单一继承,一个类可以继承另...

    PHP进阶学习PHP5 Ajax应用利用

    其核心在于JavaScript对象——XmlHttpRequest,这项由Internet Explorer 5率先引入的技术,通过异步请求,使得客户端能够不中断用户体验的情况下,向服务器发送请求并处理响应。 在PHP5环境中,Ajax的应用变得更加...

    我的PHP学习之旅——PHP基础知识汇总.zip

    12. **面向对象编程**:PHP5引入了面向对象编程特性,包括类、对象、继承、封装、多态等概念。 13. **模板引擎**:如Smarty,可以分离业务逻辑和显示逻辑,提升代码可读性和复用性。 14. **JavaScript和CSS**:...

    PHP源码实例——jz

    PHP支持面向对象编程,理解类的定义、属性、方法、继承、封装和多态性是进阶学习的关键。 9. 框架应用: 如Laravel、Symfony等PHP框架简化了开发过程。了解这些框架的基本原理和使用方法,能够提高开发效率。 10...

    PHP视频教程系列——总共22章节(4)

    【PHP视频教程系列——总共22章节(4)】是一个针对初学者和进阶者设计的PHP编程教学资源。这个系列教程通过视频形式,详细讲解了PHP语言的基础知识以及一些高级概念,帮助学习者掌握PHP编程技能。在这个第四部分的...

    PHP实例开发源码——php情缘交友网源码.zip

    【标题】"PHP实例开发源码——php情缘交友网源码.zip" 是一个包含PHP编程语言实现的在线交友网站的源代码集合。这个压缩包很可能是为了教学或实际项目开发而提供的,允许开发者深入理解PHP在构建社交网络平台中的...

    PHP视频教程系列——总共22章节(10)

    6. **面向对象编程**:PHP5引入了完整的面向对象特性,如类、对象、继承、封装和多态,这部分内容对于编写可维护的代码至关重要。 7. **数据库交互**:PHP常用于动态网站,因此数据库操作是其重要组成部分。可能...

    PHP视频教程系列——总共22章节(11)

    【PHP视频教程系列——总共22章节(11)】是一个专门为学习PHP编程语言而设计的视频教程资源。这个系列涵盖了从基础到进阶的PHP知识,旨在帮助初学者和有一定经验的开发者深入理解PHP的核心概念和技术。在这个第11...

    PHP从入门到精通 第三版

    深入学习类和对象的创建、属性和方法的访问控制、构造函数和析构函数的使用,以及面向对象的高级特性,如静态成员、接口、抽象类和命名空间。 知识点四:PHP的高级特性 随着学习的深入,将要掌握PHP中一些高级特性...

    php(1-136) 李炎恢

    8. 面向对象编程:深入理解类、对象的概念,学习类的属性、方法、构造函数、析构函数,以及封装、继承、多态等面向对象特性。 9. 异常处理与调试:熟练掌握异常处理机制,学习使用Xdebug等工具进行PHP代码的调试。 ...

    PHP实例开发源码-大格网页设计工作室全套源码 php版.zip

    除此之外,PHP的面向对象编程(OOP)也是学习的重点。源码可能展示了类的定义、继承、封装和多态性,帮助开发者理解如何利用OOP来组织和复用代码,提高程序的可维护性和扩展性。 最后,大格网页设计工作室的源码...

    php手册很全的.zip_php chm_php手册

    2. 类与对象:PHP支持面向对象编程,手册中的“类与对象”章节详细介绍了如何定义类、创建对象、实现继承、封装和多态等概念。例如,`__construct`是类的构造函数,`__destruct`是析构函数,`__get`和`__set`用于...

    韩顺平PHP从入门到精通笔记

    - 类与对象:面向对象编程的概念,类的定义、对象的创建、继承、封装和多态。 - PHP框架:如Laravel、Symfony等框架的使用,提高开发效率。 - 安全实践:防止SQL注入、XSS攻击等,确保应用程序的安全性。 - PHP性能...

    十天学会PHP

    第九天:PHP面向对象编程 PHP从5.0版本开始支持面向对象编程(OOP),包括类、对象、继承、封装、多态等概念。掌握OOP可以帮助你写出可维护性更强、结构更清晰的代码。 第十天:PHP进阶技术与实践 最后,我们将探讨...

    php和mysql web开发(原书第4版)英文版

    - **面向对象编程(OOP)**:类和对象的概念,继承、多态性等特性。 - **错误处理**:异常处理机制,调试技巧。 ##### 2. MySQL数据库管理 - **SQL基础知识**:数据查询、更新、插入、删除操作。 - **表结构设计**:...

Global site tag (gtag.js) - Google Analytics