搜索
首页后端开发php教程PHP面向对象到底是啥?十分钟通俗易懂图文教程

PHP面向对象的基本概念

 

(一)、面向对象的基本概念

1、什么是对象

l  面向对象英文是Object Oriented,拆开来就是

       -面向(Oriented)

       -对象( Object )

概念:什么是对象

l  世间万物皆对象

n  一切可见之物

u  一个老人,一台笔记本

u  一个桌子

u  一个球员

u  一个女主播

n  一切不可见之物也可以是对象

u  一个空气里的细菌

u  一个抽象的概念

l  抽象,顾名思义,就是抽掉了具体形象的东西。如:人,就可以说是一个相对抽象的概念,因为一个具体的人有性别、年龄、身高、相貌、社会关系等具体特征,但抽象的就是不包含这些具体特征的一个概念,因此说它是抽象的;而具体的人的概念应该是张三、李四等。 因此说,抽象概念一般是指的每一类事物,而不是某一个事物。

 

2、对象的组成

l  对象组成包含两部分

n  对象的组成元素

u  是对象的数据模型,用于描述对象的数据

u  又被称为对象的属性,或者对象的成员变量

n  对象的行为

u  是对象的行为模型,用于描述对象它能做什么事情

u  又被称为对象的方法

 

      

3、对象的特点

l  每一个对象都是独一无二

n  比如说张三就是张三,李四就是李四,你家的桌子就是你家的不是别人家的,而且你家卧室的桌子不是客厅的桌子,这些都不能混为一谈

l  对象是一个特定的事物,它的职能就是完成特定的功能

n  比如桌子,它就是一张桌子,它就是为了满足你吃饭的时候的需求,你可以把饭菜盛饭到上面,这样吃起来就方便

n  再比如球员,它的职能就是传球,运球,投篮,扣篮,这些就是他们要做的事情

l  对象它是可以重复使用的

n  比如球员詹姆斯,他打完一场篮球后,还可以继续打,不是说打完一场就结束了,不能再打了

n  再比如,吃饭的桌子,你吃完了,下次再吃的时候,还可以继续使用这张桌子,所以它是可以被重复使用

n  再比如,一辆车子,它从北京开到到广州,不是说它开到广州就报废了,而是可以往返很多次

4、什么是面向对象

l  面向就是指在编程的时候,一直把对象放在心中

n  比如你面向墙壁,你一直看到的就是墙壁,

n  比如老师讲课,它面向是谁,是学生,所以老师上课的时候要一直面对的是学生

n  面向对象,就是编程的时候,心里一直面向着对象

l  面向对象编程,指的就是在编程的时候,把一切数据模型转换成对象的结构进行存储,

n  实际上就是编程的时候,我们把所有的数据结构,转换成属性和方法这种对象的形式进行存储,我们把这种方式就叫做面向对象编程

 

5、为什么要使用面向对象

  •   对象的描述方式更加贴合真实世界,更加方便我们理解大型项目的业务逻辑

n  我们早期的时候是面向过程编程,就是每天讲的都是代码的组织结构,但是有了对象的描述方式后,我们还可以说,我写的就是一个一个的对象,然后他们之间有各种互动

n  在程序设计的过程当中,这种面向对象的开发方式拉近了代码和真实世界的距离

6、面向对象的实质

l  做任何事情我们都需要观察事物的本质,那么面向对象的实质是

n  把生活中要解决的问题,都通过对象的方式进行存储,什么是对象方式的存储,就是把数据结构存储为对象的属性和方法

u  比如我们要做一个家居软件,里面所有的家居我们都可以用对象的属性和方法进行表示出来,比如它的大小,颜色,尺寸 等等

方法有哪些呢,比如有的家居是可以折叠的,这个折叠就是它的方法

u  再比如一个球员,它的属性有什么,身高,年龄,团队,肤色等等,那方法呢,就比如运球,传球,投篮,扣篮等这些基本的技能就是球员的方法

l  对象和对象之间的互动,就是通过方法的调用来完成,这个有点抽象,后面我们会通过实例进行详细的剖析

n  举例

u  比如我从教室门口,走了大概10步,来到了讲台中间,紧接着我看向张三,然后问了一个问题,“你好,请问你叫什么名字”,最后张三回复我:“你好,我叫张三”

                                老师.png

这个图里,对象分别是老师,学生,首先是老师调用了他自身的方法,方法的顺序依次是 走,看,问,紧接着调用了张三对象的回复方法

 

7、面向对象的基本思路

l  第一步:识别对象

-任何实体都可以称为对象

l  第二步:识别对象的属性

n  对象里面存储的数据都是属性

n  对于不同的业务我们要关注的属性是有所不同的

u  比如上面的场景中,我们要用面向对象的方式把它还原,那么关注的属性就是名字,身份,方法就是3个,走,看,问

u  比如女主播和球员都是人,但是因为业务不同,所以我们关注的属性和方法也会不同,比如女主播,我们更关注的是它的艺名,还有唱歌,球员我们更关注的是他是哪个球队的,以及他球技

l  第三步:识别对象的行为

n  比如说对象自己数据的改变都是行为

n  对象和外部之间的交互

8、面向对象的基本原则

l  对象内部是高内聚的

n  只包含一项特定的职能(职能是可大可小)

u  比如说球员,他只负责打球,女主播只负责唱歌,虽然他们还可以做其他事情,但是因为业务不同,所以职能不同,然后其他的职能就没有包含进来

n  所有对象相关的内容都封装在对象内部

l  对象外部它是低耦合的

n  外部的世界只能看见对象的部分属性,看不到全部的

n  外部世界只能看见对象的部分行为,看不到全部的

u  这个高内聚低耦合不关是对象的一些基本原则,它也是我们整个编程当中的一个重要原则,特别是低耦合更重要一些,为什么这么说呢,因为一旦做到了低耦合,这样的话,对象之间的依赖关系会变得非常小,随之带来的好处就是,它的可维护性更高了,可扩展性也加强了,比如做一个游戏软件,这个球员的对象可以被多个游戏使用,这样在开发新游戏的时候,可以直接拿来使用,这样的话,复用性也增强了

u  高内聚的好处就是,你该有的都有了,尽量写全一点就不会出现缺胳膊少腿的

u  高内聚低耦合它不仅仅只是我们设计对象的时候的基本原则,它也是我们编程的一个重要设计原则



以上是PHP面向对象到底是啥?十分钟通俗易懂图文教程的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
继续使用PHP:耐力的原因继续使用PHP:耐力的原因Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、灵活性和强大的生态系统。1)易用性和简单语法使其成为初学者的首选。2)与web开发紧密结合,处理HTTP请求和数据库交互出色。3)庞大的生态系统提供了丰富的工具和库。4)活跃的社区和开源性质使其适应新需求和技术趋势。

PHP和Python:探索他们的相似性和差异PHP和Python:探索他们的相似性和差异Apr 19, 2025 am 12:21 AM

PHP和Python都是高层次的编程语言,广泛应用于Web开发、数据处理和自动化任务。1.PHP常用于构建动态网站和内容管理系统,而Python常用于构建Web框架和数据科学。2.PHP使用echo输出内容,Python使用print。3.两者都支持面向对象编程,但语法和关键字不同。4.PHP支持弱类型转换,Python则更严格。5.PHP性能优化包括使用OPcache和异步编程,Python则使用cProfile和异步编程。

PHP和Python:解释了不同的范例PHP和Python:解释了不同的范例Apr 18, 2025 am 12:26 AM

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP和Python:深入了解他们的历史PHP和Python:深入了解他们的历史Apr 18, 2025 am 12:25 AM

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

在PHP和Python之间进行选择:指南在PHP和Python之间进行选择:指南Apr 18, 2025 am 12:24 AM

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

PHP和框架:现代化语言PHP和框架:现代化语言Apr 18, 2025 am 12:14 AM

PHP在现代化进程中仍然重要,因为它支持大量网站和应用,并通过框架适应开发需求。1.PHP7提升了性能并引入了新功能。2.现代框架如Laravel、Symfony和CodeIgniter简化开发,提高代码质量。3.性能优化和最佳实践进一步提升应用效率。

PHP的影响:网络开发及以后PHP的影响:网络开发及以后Apr 18, 2025 am 12:10 AM

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型?PHP类型提示如何起作用,包括标量类型,返回类型,联合类型和无效类型?Apr 17, 2025 am 12:25 AM

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。