• 技术文章 >后端开发 >php教程

    PHP面向对象到底是啥?十分钟通俗易懂图文教程

    易达易达2020-05-18 09:14:18原创1040

    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中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:PHP 面向对象
    上一篇:PHP 框架 Hyperf 实现处理超时未支付订单和延时队列 下一篇:php session垃圾回收机制
    大前端线上培训班

    相关文章推荐

    • 面向对象的三大特性是什么• 了解一下PHP面向对象的相关概念• 浅谈PHP面向对象的继承• 在面向对象方法中类的实例称为什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网