什么是面向过程?
以过程为中心的编程思想,自顶而下,把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可,代码流程话,执行起来效率很高,
但是代码重用性低,扩展能力差,后期维护困难。
什么是面向对象?
强调可重复性,将问题分解成一个一个步骤,对每个步骤进行相应的抽象,形成对象,通过不同对象之间的调用,组合解决问题。更加符合人类的思维方式,扩展性、可维护性都很高。通过对现实世界的理解和抽象,在运用封装、继承、多态等方法,通过抽象出对象的方式进行软件开发。
面向对象的三大特征:
封装:为什么要封装:1.简化对象的使用,调用者只关心对象的功能,而不关心其实现 2.安全 如何封装:访问控制符
继承:从一般到特殊的过程。
多态:父类引用指向子类对象,接口引用指向实现类。
面向对象五大原则:
单一职责:一个类,最好只做一件事
接口隔离原则:使用多个小的专门的接口,而不要使用一个大的总接口。(高内聚,低耦合)
开闭原则:对扩展开放,对修改封闭的。(让类依赖于固定的抽象,所以修改就是封闭的;而通过面向对象的继承和多态机制,又可以实现对抽象类的继承,通过覆写其方法来改变固有行为,实现新的拓展方法,所以就是开放的。 )“需求总是变化”没有不变的软件
里氏替换原则:子类必须能够替换其基类。(在使用继承时,遵循里氏替换原则,在子类中 尽量不要重写父类的方法,如果重写的话,最好是加强方法,而不要更改功能)
依赖倒置:依赖抽象,面向接口编程。(举例,A类中需要用到B接口,Autowied一个B接口的实现类,而不是创建一个B接口的实现类)
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/275672.html