php如何体现多态和封装


抽象类和继承这个很常用,通常框架的最开始都是个空的父类

控制器等组件继承自父类慢慢做扩展调用。

一直没明白多态和封装在php里是如何应用的

ps:被Java程序员鄙视了

面向对象 php

东风谷灵喵 10 years, 11 months ago

OOP这一套和具体语言没有关系,是一种设计思想。多态和封装侧重于功能性的描述,抽象和继承侧重于实现性的描述。之所以引入抽象和继承,就是为了实现多态和封装。多态是指多个派生类有共同的特性,因此在某些功能上可以有共同的实现,比如人人网和微博都有第三方连接、分享的功能,使用多态的设计,“分享到...”的功能就可以用相同的代码来实现。封装是指将内部实现的部分与外部调用的部分分开,对外可见的只有外部需要的部分,这样可以保证模块化的设计。

打个比方来说,要设计一个MP3,
先设计MP3机体再设计配套的耳机叫做从底到上的设计方法,
先设计耳机再设计配套的MP3机体叫做从顶到下的设计方法
而先设计好耳机的插孔,然后分开设计MP3机体和耳机,叫做接口(interface)型的模块化设计方法。

把耳机描述成“一个可以插进标准3.5mm接口、阻抗为32欧姆的电器元件”叫做抽象。
在基础耳机上设计出带动圈的、带保护套的耳机叫做继承或者派生。
一个耳机插孔,可以插动圈式的耳机,可以插入耳式的耳机,可以插单声道耳机,就叫做多态。
而MP3机体规定“使用3.5mm接口,输出阻抗32欧姆,输出信号满幅度电压1.3V,其他的都封在外壳里面”就叫做封装。

jedili answered 10 years, 11 months ago

Your Answer