本篇文章给大家带来的内容是关于php面试之面向对象的相关知识介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一、从字面上
1、什么叫面向?
面向即看待。把我们所能客观看到的一切事物都抽象成一个对象。也就是所说的“万物皆对象”。其主要思想就是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的过程中经历的步骤和行为。
通俗点:开发一套程序和装修一个房子一样,房子里电视、电脑、空调、冰箱;你都可以当做一个个实体,一个个对象。其实每个对象都有自己独特的功能职责,我们就是把每个独立的功能模块抽象成类,然后形成对象。一个系统会有大量的对象组成,这些对象之间都能够接收信息、处理数据和向其他对象发送信息等等相互作用。
2、什么是对象?
在我们PHP里对象是数据类型中的一种,整型、浮点、布尔、字符串又叫标量类型,标量相对复合类型而言,即是只能有一个值。数组作为复合类型能存储多种类型的值,但是当我要形容某一类的事物,且事物中又有很多种行为动作,那么就很难表现了。然后对象类型就应运而生。我们可以用对象来保存具体的叫什么名字、什么性别、会什么功夫的人。
总结:我们编写程序就是为了解决现实中的问题,而面向对象思想更符合人们处理较大项目的业务理解和代码开发。
二、从三大特性上对比面向过程、顺序编程
1、封装
封装可不是像函数那样的代码封装。封装更主要是将一个类的实现和使用进行分开,只保留部分属性和方法给开发人员使用。于是开发人员只需要关注这个类如何使用,而不用去关心具体的实现过程。而封装主要也有三个访问控制符来体现:public(公开的)、protected(受保护的)、private(私有的),同时也体现了安全性
2、继承
子类继承了父类,便自动继承了父类中所有的(public、protected)属性和方法。抽象类的存在就是为了继承,抽象类的定义往往就是提取了子类的公共属性和功能方法,以便子类继承使用。框架中(thinkphp5)的控制器、模型,定义时若继承了控制器基类、模型基类,便拥有了类似视图渲染、页面跳转、修改器、软删除等等功能。继承体现了代码的复用性或重用性
3、多态
子类继承了来自父类中的成员属性和方法。并多其方法进行实现(抽象、接口)或重写,于是多个子类中都具有相同的方法,但是却有了不同形态、不同结果的体现。多态增强了代码的灵活性和扩展性
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
程序员编程交流QQ群:805358732
如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!