[PHP语言] php面向对象三大特性

[复制链接]
查看854 | 回复7 | 2020-10-31 14:56:15 | 显示全部楼层 |阅读模式

  面向对象是在结构化设计方法出现很多问题的情况下应运而生的。结构化设计方法求解问题的基本策略是从功能的角度审视问题域。下面我们就为大家介绍一下php面向对象的三大特性。

推荐教程:PHP视频教程

三大特性是:封装、继承、多态

封装

  所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

  封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。

继承

  所谓继承是指可以让某个类型的对象获得另一个类型的对象的属性的方法,它支持按级分类的概念。

  继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。继承概念的实现方式有二类:实现继承与接口继承。实现继承是指直接使用基类的属性和方法而无需额外编码的能力;接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;

多态

  所谓多态就是指一个类实例的相同方法在不同情形有不同表现形式。

  多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

五大基本原则

单一职责原则SRP(Single Responsibility Principle)

  是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。

开放封闭原则OCP(Open-Close Principle)

  一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能。

  那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。

替换原则(the Liskov Substitution Principle LSP)

  子类应当可以替换父类并出现在父类能够出现的任何地方。比如:公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则这公司就不和谐了。

替换原则(the Liskov Substitution Principle LSP)

  假设B是较A低的模块,但B需要使用到A的功能,这个时候,B不应当直接使用A中的具体类: 而应当由B定义一抽象接口,并由A来实现这个抽象接口,B只使用这个抽象接口:这样就达到了依赖倒置的目的,B也解除了对A的依赖,反过来是A依赖于B定义的抽象接口。通过上层模块难以避免依赖下层模块,假如B也直接依赖A的实现,那么就可能造成循环依赖。一个常见的问题就是编译A模块时需要直接包含到B模块的cpp文件,而编译B时同样要直接包含到A的cpp文件。

接口分离原则(the Interface Segregation Principle ISP)

  模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来

以上就是php面向对象三大特性的详细内容,更多请关注爱上源码网其它相关文章!

  • 微信
  • 分享
  • 相关标签:php 对象
  • 本文原创发布爱上源码网,转载请注明出处,感谢您的尊重!
    • 上一篇:php变量的作用域
    • 下一篇:php无限极分类原理

    相关文章

    相关视频

    • php如何理解面向对象
    • 面向对象程序设计的基本特征
    • php对象和数组区别
    • 什么是面向对象编程
    • php面向对象三大特性
    • 对象的描述器
    • 如何用面向对象实现切换工作空间
    • 请求对象是什么?
    本文有爱上源码下载完入驻作者发布,如果对您版权造成侵害,可以联系本站站长管理进行维权删除,本站收到维权24小时内进行处理,谢谢您关注23ym.cn! 本站分享大量程序员技术文章以及对编程开发的初级入门教程,包括图文讲解笔记和高清视频下载~
    回复

    使用道具 举报

    塞上云烟辣 | 2021-10-1 00:56:12 | 显示全部楼层
    悟空源码太厉害,资源真多!
    回复

    使用道具 举报

    立郎 | 2022-1-24 10:17:43 | 显示全部楼层
    6666悟空源码资源多!
    回复

    使用道具 举报

    南辕北辙395 | 2022-6-1 14:35:24 | 显示全部楼层
    谢谢楼主发布的资源下载,帮助我不少
    回复

    使用道具 举报

    WY20172017 | 2023-1-24 12:43:03 | 显示全部楼层
    悟空源码资源不错。粉了
    回复

    使用道具 举报

    新北狂纱 | 2023-4-18 10:46:19 | 显示全部楼层
    支持悟空源码,越来越好
    回复

    使用道具 举报

    m12345666 | 2023-10-8 16:33:27 | 显示全部楼层
    没积分哈,谁来帮帮我啊
    回复

    使用道具 举报

    版砖批发握 | 2024-2-29 20:36:32 | 显示全部楼层
    我是来白嫖悟空源码的资源的!
    回复

    使用道具 举报

    老鼠飞出亚洲言 | 2024-3-27 16:19:56 | 显示全部楼层
    找了好多地方,终于找到了
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则