三大特性
- 封装
- 继承
多态
封装
所谓封装就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类或对象操作,对不可信的进行信息影藏。
继承
继承就是指可以让某个类获得另一个类的属性和方法。被继承的类成为‘基类’或‘父类’,继承创建的新类成”子类”或“派生类”。子类可以继承父类的属性和方法,并可以对属性和方法实现重写,添加。具有重用、可扩展、升级的特性。
多态
子类继承父类,可以重写父类的方法和属性。一个类可以有多个子类,而不同的子类之间,就具有不同状态的的属性值和方法体。也就是说,不同的对象,做相同的事情,会得到不同的结果。这就是多态。
五大基本原则
- 单一职责原则
- 开放封闭原则
- 替换原则
- 依赖倒置原则
接口隔离原则
单一职责原则 SRP(Single Responsibility Principle)
一个类的功能要单一,避免相同的职责分散到不同的类中,也要避免一个类承担太多职责
开放封闭原则OCP(Open-Close Principle)
一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的。
替换原则(the Liskov Substitution Principle LSP)
子类型必须能够替换掉它们的父类型,并出现在父类能够出现的任何地方
依赖倒置原则(the Dependency Inversion Principle DIP)
上层模块不应该依赖于下层模块,它们共同依赖于一个抽象(父类不能依赖子类,它们都要依赖抽象类)。
抽象不能依赖于具体,具体应该依赖于抽象。
接口隔离原则(the Interface Segregation Principle ISP)
一个类对另一个类的依赖应该是建立在最小接口上的。 客户端程序不应该依赖它不需要的接口方法。可以使用接口的多重继承实现对不同的接口的组合,从而对外提供组合功能——达到“按需提供服务”。
参考资料:PHP面向对象设计的五大原则https://segmentfault.com/a/1190000013812312