第5章 面向对象-【千锋教育】PHP从入门到精通
|
51页
|
106人阅读
|
0人下载
教辅
内容正文:
第5章 面向对象
面向对象的概念
类与对象
构造方法
析构方法
类常量、静态成员
继承
抽象类与接口
多态
魔术方法
设计模式
面向对象的概念
类与对象
构造方法
5.2
5.3
5.1
析构方法
5.4
☞点击查看本小节知识架构
类常量
5.5
☞点击查看本小节知识架构
静态成员
5.6
继承
抽象类与接口
☞点击查看本小节知识架构
多态
5.8
5.9
5.7
魔术方法
5.10
☞点击查看本小节知识架构
设计模式
5.11
☞点击查看本小节知识架构
☞点击查看本小节知识架构
学习目标
理解
掌握
掌握
掌握
理解面向对象的概念
1
掌握继承性与多态性
4
2
掌握类与对象
3
掌握构造方法与析构方法
销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5
5.1 面向对象的概念
5.1.1
可变函数
返回目录
5.1.2
引用函数返回值
5.1 面向对象的概念
面向对象程序设计是模拟如何组成现实世界而产生的一种编程方法,是对事物的功能抽象与数据抽象,并将解决问题的过程看成一个分类演绎的过程。其中,对象与类是面向对象程序设计的基本概念。
5.1 面向对象的概念
5.1.1 对象与类的概念
在现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如学生、汽车等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即静态部分与动态部分。顾名思义,静态部分就是不能动的部分,这个部分被称为属性,任何对象都会具备其自身属性,如一个人,其属性包括高矮、胖瘦、年龄、性别等。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以转身、微笑、说话、奔跑,这些是这个人具备的行为(动态部分),人类通过探讨对象的属性和观察对象的行为来了解对象。
5.1 面向对象的概念
5.1.1 对象与类的概念
在计算机世界中,面向对象程序设计的思想要以对象来思考问题,首先要将现实世界的实体抽象为对象,然后考虑这个对象具备的属性和行为。例如,现在面临一名足球运动员想要将球射进对方球门这个实际问题,试着以面向对象的思想来解决这一实际问题。步骤如下。
首先可以从这一问题中抽象出对象,这里抽象出的对象为一名足球运动员。
然后识别这个对象的属性。对象具备的属性都是静态属性,如足球运动员有一个鼻子、两条腿等,这些属性如图所示。
5.1 面向对象的概念
5.1.1 对象与类的概念
接着识别这个对象的动态行为,即足球运动员的动作,如跳跃、转身、传球等,这些行为都是这个对象基于其属性而具有的动作,这些行为如图所示。
识别出这个对象的属性和行为后,这个对象就被定义了,然后根据足球运动员具有的特性制定要射进对方球门的具体方案以解决问题。
5.1 面向对象的概念
5.1.1 对象与类的概念
究其本质,所有的足球运动员都具有以上的属性和行为,可以将这些属性和行为封装起来以描述足球运动员这类人,由此可见,类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。这也是进行面向对象程序设计的核心思想,即把具体事物的共同特征抽象成实体概念,有了这些抽象出来的实体概念,就可以在编程语言的支持下创建类,因此,类是那些实体的一种模型,具体如图所示。
在图中,通过面向对象程序设计的思想可以建立现实世界中具体事物、实体概念与编程语言中类、对象之间的一一对应关系。
5.1 面向对象的概念
5.1.2 面向对象的三大特征
面向对象程序设计实际上就是对现实世界的对象进行建模操作。面向对象程序设计的特征主要可以概括为封装、继承和多态,接下来针对这三种特征进行简单介绍。
1.封装
封装是面向对象程序设计的核心思想。它是指将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。例如,计算机的主机是由内存条、硬盘、风扇等部件组成,生产厂家把这些部件用一个外壳封装起来组成主机,用户在使用该主机时,无须关心其内部的组成及工作原理,如图所示。
5.1 面向对象的概念
5.1.2 面向对象的三大特征
2.继承
继承是面向对象程序设计提高重用性的重要措施。它体现了特殊类与一般类之间的关系,当特殊类包含了一般类的所有属性和行为,并且特殊类还可以有自己的属性和行为时,称作特殊类继承了一般类。一般类又称为父类或基类,特殊类又称为子类或派生类。例如,已经描述了汽车模型这个类的属性和行为,如果需要描述一个小轿车类,只需让小轿车类继承汽车模型类,然后再描述小轿车类特有的属性和行为,而不必再重复描述一些在汽车模型类中已有的属性和行为,如图所示。
5.1 面向对象的概念
5.1.2 面向对象的三大特征
3.多态
多态是面向对象程序设计的重要特征。生活中也常存在多态,例如,学校的下课铃声