问题:
面向对象程序设计原则有哪些?
答案:
(1)单一职责原则(Single Responsibility Principle):如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。
(2)开闭原则(Open Closed Principle):对增加新功能开发,对修改原来的代码关闭,使用面向接口编程或者面向切面编程可以实现。
(3)里氏转换原则(Liskov Substitution Principle):程序中,所有能出现父类的地方都能用子类代替,且程序结果不错不变。
(4)迪米特法则(Law of Demeter):最少知识原则,能用少的技术实现效果,就不要用多的技术。
(5)接口隔离原则(Interface Segregation Principle):客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。
(6)依赖倒置原则(Dependence Inversion Principle):上层模块不应该依赖底层模块,它们都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。