面向对象
什么是面向对象?
对象就是指实物(如:人,动物,车等等)。
与面向过程,是两种不同的处理问题的思维。
在面向对象中主要考虑解决问题所涉及的实体及其功能;面向过程主要考虑解决问题的流程。
举个例子:
如:用洗衣机洗衣服
面向过程将问题分解为一个个步骤,按照一定的顺序执行:1.打开洗衣机——>2.放衣服——>3.放洗衣粉——>4.洗衣服——>5.脱水.
面向对象会拆分出人,洗衣机两个对象:
人 主要的功能:打开洗衣机,放衣服,放洗衣粉
洗衣机 主要功能:洗衣服,脱水。
面向对象相比于面向过程更加高效,并且更加利于扩展,重复使用。面向对象是无法取代面向过程的,两种相辅相成。宏观上面向对象是对象在解决,但是细节上还是采用面向过程的思维。
面向对象的特征
封装
封装:将类的某些信息隐藏在类的内部,不允许外界直接访问,只允许可信的类或对象访问和操作。
封装的意义:隐藏类的实现细节,外部无需知道具体实现细节。
主要通过java访问权限修饰符实现。
继承
继承:从已经存在的类中派生出子类,子类能吸收(继承)该类的属性和功能,并且自己也可以扩展特有的属性和功能。
在java中一个类只等有一个直接父类,支持多个类继承一个类。Object类是所有类的父类。
继承的好处:实现代码的重复利用,子类实现扩展。
通过extends实现。
多态
多态:同一事物在不同情况下表现不同的状态。
多态是建立在有继承关系上,需要有方法重写,父类的引用指向子类的对象(就是将子类的对象当父类使用)。
注意:无法调用子类特有的方法(功能)。