面向对象三大特征
众所周知,面向对象有三大特征
- 封装
- 继承
- 多态
封装继承多态,就好像武侠小说里的“金、木、水、火、土”一样,相生相克
封装
封装就像是武侠里的金钟罩铁布衫,把对象的数据和方法封装起来,对外只暴露必要的接口,保护了对象的隐私和安全
继承
继承则好比武侠中的传承血脉,子类可以继承父类的属性和方法,并且可以根据需要进行自我扩展,这样就不用从头造轮子,提高了代码的重用性和可维护性。
多态
多态则像是武侠中的千变万化,同一个方法在不同的对象上表现出不同的行为,让程序更加灵活和可扩展。就像大侠们在战斗中变换招式,应对敌人的不同情况一样。
举个例子
比如,我们有2个对象,分别是 word、excel。 我们使用相同的操作 Ctrl+N。
对于word是新建word文档; 对于excel是新建excel表格。
多态的好处
多态最大的好处可以用2个词语来概括:“灵活”、“解耦”。
耦合度的意思是模块与模块之间、代码与代码之间的关联度。 紧耦合也就是他们之间的关联度大,这样的代码是很难维护的,很容易出bug的。出现一个bug,其他bug很可能像滚雪球一样增长。
我们经常说:“要面向接口编程,而不是面向实现编程”。
多态性,也就要求我们面向接口编程。 不同的对象,相同的接口,但因为多态,有了不同的实现。
这样面向接口编程,就降低了耦合度,很灵活。
所以说,面向对象编程就像是一场武林盛宴,招式精湛的大侠们用封装、继承和多态这三大法宝,创造出了一个个令人惊叹的程序世界。
更多精彩,请关注公众号“代码教父”