如何理解面向对象(POO)?

在PHP面试的时候,总会很经常被提问到“如何理解面向对象(POO)?”在此我说出自己答案,希望有不足之处,大家能提出来。

我的思路是:

 回答时从面向对象的三大特征回答,以及面向对象非常重要的一个概念——抽象。
 面向对象的三个特征是:继承封装多态

类的继承性是指一个类通过继承(extends)已有的一个类来成为其子类,子类具有了父类的所有特征(变量、常量、函数方法),同时,子类也可以有新的特性(变量、常量、函数方法)。比如:人类是一个已有的类,男人具有了人类的所有的特性,比如用站立行走,比如思考,比如劳动。同时,男人也有新的特性,比如男人会长胡子。 (注意PHP是单继承的,只能通过接口实现多继承)

类的封装是指类把所有的操作都封闭起来,仅仅提供接口出来让其他人使用,使用的人没有必要懂得类里面的操作,只需要懂得操作接口就可以了。比如开汽车,我们只需要懂得方向盘、刹车、油门等等的使用就可以了,没有必要知道刹车是如何构成的封闭好的操作。同时,封装也提高了程序的可替换性。比如两个汽车公司实现刹车的方式不一样,但是,只要我们学会了使用刹车,那么,开两个汽车公司的车就都没有问题了,我们不需要考虑他们怎样实现刹车这门技术的。

类的多态性是一个对象的某项功能可以处理不同类型的问题,或者一个子类可以将父类的某个功能替换成新的功能,具体到编程的方面来说实现类的多态有override和overload,也就是覆写和重载。

同时面向对象还有一个很重要的概念:抽象。抽象就是一个事物的本质。当然对于本质,不同的角度却会有不同的理解。男人,在和女人一起的时候,它的本质是人。在和所有的生物一起的时候,它的本质是动物。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值