目录
五大基本原则:SPR, OCP, LSP, DIP, ISP
————————————————————————————————————————————
面试时被问到这个问题,有点遗漏,决定在此做个小总结
重载和重写不仅仅是c#中独有,而是面向对象语言的特点。包括java等语言也有这个概念。
————————————————————————————————————
面向对象重温:
三大基本特性:封装,继承,多态
五大基本原则:SPR, OCP, LSP, DIP, ISP
单一职责原则SRP(Single Responsibility Principle)
是指单个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。
开放封闭原则OCP(Open-Close Principle)
一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。
里式替换原则LSP(the Liskov Substitution Principle LSP)
子类应当可以替换父类并出现在父类能够出现的任何地方,反之不可。比如:公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则这公司就不和谐了。
依赖倒置原则DIP(the D