一、面向对象和面向过程的共性
面向对象和面向过程都是对软件分析、设计、和开发的一种思想,我们依据这种思想,去进行软件的分析、设计和开发
二、面向对象和面向过程的区别与联系
面向过程是一种执行者的思维,字面意思过程就是一步一步怎么实现,每一步应该怎么做;
面向对象则是一种设计者的思维,在去一步一步实现之前,首先要考虑怎么设计,更多考虑的是一个宏观的过程,而在微观上依旧是一个面向对象的过程,所以说面向对象的存在离不开面向过程。
面向过程适用于解决简单问题,问题之间不需要繁杂的操作;面向对象则是反之。
三、面向对象三大特性
继承、封装、多态
继承:继承让我们更加容易实现类的扩展。实现代码的 重用;Java 中类没有多继承,接口有多继承。 子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见 得可以直接访问(比如,父类私有的属性和方法)。
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问 成员变量private,提供对应的getXxx()/setXxx()方法;把复杂的内部细节全部封装起来,只给我们暴露简单的接口。 我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成, 不允许外部干涉;低耦合是仅暴露少量的方法给外部使用,尽量方便外部调用。
多态:多态指的是同一个方法调用,由于对象不同可能会有不同的行为。多态是方法的多态,不是属性的多态(多态与属性无关)。 多态的存在要有 3 个必要条件:继承,方法重写,父类引用指向子类对象。父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。