面向对象设计

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11444182.html

 

面向对象的基本要素:封装、继承、多态。

 

封装

封装的目的是隐藏事务内部的实现细节,以便提高安全性和简化编程。封装提供了合理的边界,避免外部调用者接触到内部的细节。在日常开发中,因为无意间暴露了细节导致的难缠bug太多了,比如在多线程环境暴露内部状态,导致的并发修改问题。从另外一个角度看,封装这种隐藏,也提供了简化的界面,避免太多无意义的细节浪费调用者的精力。

 

继承

继承是代码复用的基础机制,类似对于马、白马、黑马的归纳总结。但要注意,继承可以看作是非常紧耦合的一种关系,父类代码修改,子类行为也会变动。在实践中,过度滥用继承,可能会起到反效果。

 

多态

多态,可能立即会想到重写(override)和重载(overload)、向上转型。简单说,重写是父子类中相同名字和参数的方法,不同的实现;重载则是相同名字的方法,但是不同的参数,本质上这些方法签名是不一样的。

 

posted @ 2019-09-01 23:08  李白与酒  阅读(109)  评论(0编辑  收藏  举报