面向对象的编程产生的历史原因:由于面向过程编程在构造系统时,无法解决重用,维护,扩展的问题,而且逻辑过于复杂,代码晦涩难懂,因此,人们开始想能不能让计算机直接模拟现实的环境,以人类解决问题的方法,思路,习惯和步骤来设计相应的应用程序。于是,面向对象的编程思想就产生了。
面向对象的编程的主要思想是把构成问题的各个事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在解决问题的过程中经历的步骤和行为。对象作为程序的基本单位,将程序和数据封装其中,以提高程序的重用性,灵活性和可扩展性。类是创建对象的模板,一个类可以创建多个对象。对象是类的实例化。
类是抽象的,不占用存储空间;而对象具体的,占用存储空间。
面向对象有三大特性:封装,继承,多态。
如果说四大特性,就是封装,继承,多态,抽象。
封装:
将类的实现细节用private隐藏起来并并对外提供公共的get,set方法就是一个接口来获取它的属性值我们把做好的有着逻辑思维的方法或算法封装起来或将他变成一个类同时就提高了我们代码的复用性及代码的可维护性就可以多次使用他这只是封装的一部分体现
继承:
子类继承了父类的所有行为用private修饰的除外实列化子类就可以调用父类里的行为可以将一些拥有共同方法的或共同属性的类继承同一个父类这样可以减小代码量有继承关系之后我们也可以在子类里重写父类的方法
多态:
一种事物多种形态;子类的引用指向子类的对象(实现)一般我们用在接口较为多可以配合接口实现。多态还分为静态多态和动态多态,静态多态的体现主要是方法重载,动态多态体现在方法重写,父类接收不同子类的实例,接口接收不同实现类的实例。弥补类的单继承带来的功能不足.
抽象:
抽象就是某一事列我们暂时不定义它的行为通过继承的形式来实现此事物这样增加了事物的多态性也可以做到更好的可扩展性。我们把很多事情都抽象化之后我们就可以更好的操作他们完成一些事情也可以让我么们后期对于代码的维护提供了方便