首先面向对象编程是一种编程思想 还有一种不同的思想是面向过程编程
首先分别解释一下面向过程和面向对象的区别
面向对象编程 注重的是对象 由对象内部的属性和方法 通过调用对象方法的形式解决问题。
面向过程编程 注重的是过程 需要具体到例如代码的实现和实现思路等。
不管是面向对象还是面向过程都是一种思考问题的方式 是一种思想。
总结:
1. 面向对象把复杂的问题简单化 。面向过程需要关注每一步的实现,而面向对象只需要关注一个对象即可。
2. 面向对象基于面向过程
面向对象的五大基本原则
①:单一职责原则(SRP): 也就是说一个类 需要明确负责一个功能 不能让一个类负责太多的内容 否则就会使得耦合度增高导致设计过于复杂繁琐
②:开放-封闭原则(OCP):开放-封闭原则也是面向对象编程的核心, 这里的 开发指的是可以扩展 而封闭指的是不可以修改 这可以提高面向对象编程的可维护性,可扩展性,可复用性,并且灵活性好。
③:里氏替换原则(LSP): 子类型必须能够替换掉它们的父类型,只有当子类可以完全替换掉父类时 父类才能真正的被复用,而子类也可以在步修改父类的基础上扩展新的方法/行为。
④: 依赖倒置原则(DIP): 依赖倒置原则可以说是面向对象设计的标志,也就说所有创建的子类都是依赖于父类也就是抽象类或接口 这就是面向对象的设计 反之则是面向过程的设计了
⑤: 接口隔离原则(ISP): 也就是开头说的一个类应该只负责一个功能 不同的类分别负责不同的功能 而将不同功能的接口或类进行合并 要比一个臃肿的大接口要好得多。