欢迎来到天天文库
浏览记录
ID:21604656
大小:1.35 MB
页数:54页
时间:2018-10-19
《轻松学php之面向对象程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章面向对象程序设计自PHP5发布以来,最大的特性就是引入了面向对象的全部机制。数组和对象都是PHP复合数据类型中的一种。前面我们已经学习过了数组。我们可以感受到PHP的数组是非常强大的。而对象不仅可以存储任意类型的数据,而且可以储存函数。并且对象还可以封装保护类中的成员不受到非法操作。可以通过继承对类进行扩展。本章的核心就是让读者理解面向对象程序设计的思想,达到灵活应用面向对象方法的目的。6.1面向对象概述面向对象程序设计是一种计算机编程架构,它一直是程序开发中的热门话题。使用面向对象思想设计的程序代码更
2、加简洁,更加易于维护,并且有更强的课重用性。这些特性就达到了软件工程的三个目标:重用性、灵活性和扩展性。并且面向对象的思想相对面向过程的思想更加符合人类看待事物的一般规律。PHP虽不是一个真正的面向对象的编程语言,但是面向对象的思想我们是完全可以借鉴,并且大部分都可以很好地实现,这在大型项目的设计中是很有优势的。6.1.2面向对象程序设计面向对象程序设计就将上一小节中的思想融入到程序设计中。我们需要核心掌握的就是如何使用面向对象模式的思想去设计程序。就比如说一个项目需要多少个类、应该定义什么样的类、每个类在什
3、么时候创建对象、哪里能用到对象、对象和对象之间的关系以及对象和对象之间如何传递信息等这些内容。开发一个面向对象的程序大都是把每个独立的功能模块抽象成类并实例化成对象,再由多个对象组成这个系统。这些对象之间都能够接受信息,处理数据和向其他对象发送信息等相互作用,就构成了面向对象的程序。6.2创建一个类初步使用面向对象程序设计,我们要掌握的就是使用面向对象的思想抽象出一个类,这是一种思想的转化,难点也就是在这里。而这些思想的体现在程序中就是代码。在这里,要写出代码,掌握语法,这些都是很简单的,而能正确地抽象出一个
4、类才是我们的希望读者可以完成的。我们就先以简单的语法开始逐渐深入地讲解他们。6.2.1创建类PHP类由三部分构成:第一部分是表示类的关键字class;第二部分是表示类名的PHP合法标示符;第三部分是使用花括号括起来的一组代码。整个类的语法如图所示。6.2.2实例化对象PHP中实例化一个对象类似赋值操作。它使用new操作符加类名和参数列表来实例化一个对象,然后赋值给一个变量。语法如图所示。(1)创建一个ren类并且实例化三个对象。6.3成员属性在前面的章节中我们声明了类并且也实例化了对象,但是我们很清楚的知道那
5、些类及其对象是没有任何意义的,因为他们不会做任何事情,也没有任何的特性。学习就是要循序渐进的,类就是要慢慢补充的。成员属性就是类的核心之一。下面我们来开始学习他们。6.3.1成员属性我们知道人都有一定的共有属性,例如姓名、年龄、生日、户籍地等等这些都是一个人常常必备的一些性质,而它们体现在类中就是类的成员属性。定义×成员属性的语法如图所示。6.3.1成员属性在早前的PHP版本中使用如下这种写法:var$name这种写法的含义和用法与public$name是完全一样的,在PHP5中改为使用public修饰。但是
6、为了兼容以前的程序,这种写法依然可以使用,但是并不是我们推荐的。(1)定义一个含有姓名,性别,年龄,生日,户籍属性的ren类,并且实例化若干个对象。(2)定义一个ren类,在示例6-2中ren类的基础上去掉一个属性,并实例化若干个对象。6.3.2访问成员属性在PHP中我们使用“->”来访问对象的成员属性,它的语法如图6.6所示。(1)创建一个ren类的对象$xiaoyang,并且用“->”操作符访问它的属性并执行赋值操作,并在最后访问输出这些属性。(2)实例化ren类的两个对象,并且给其中一个对象的xingm
7、ing属性赋值。然后输出两个对象对应的xingming属性的值。6.4成员方法前面的章节中我们已经了解了成员属性,已经学会了访问成员属性的语法。我们可以清楚的体验出,光有成员属性的类是非常单薄和没有多大用处的。这里我们就要再给类添加一种成员——成员方法。成员方法可以操作类里面的成员属性,也可以独立完成一些操作,它为类添加了强大的功能,下面我们就来学习它。6.4.1成员方法成员方法也就是函数。它可以完成一些我们需要的操作。成员方法的定义很简单,只要在函数前面加上访问控制修饰符关键字即可,语法如图所示。(1)给r
8、en类定一个成员方法say。6.4.2访问成员方法成员方法的访问与成员变量的访问方法是相同的都是使用“->”操作符来完成的,语法如图所示。(1)访问ren类中的成员方法say。6.4.6$this关键字在定义了成员方法后,我们常常会用到的一个问题是怎么使用类的其他成员,比如使用成员属性,调用成员方法。要实现这种操作,我们只能使用$this,它的语法如图所示。它会把查找范围缩小在一个类以内,也就是说使
此文档下载收益归作者所有