对象是实体,用一组可识别的特性和行为来标识。
类是具有相同的属性和功能的对象的抽象的集合。
面向对象编程就是针对对象进行编程的意思。
面向对象的三大特征有:封装、继承、多态。
1.封装
每个对象都有它能进行操作所需要的信息,将相关的数据和方法封装到一个类中,通过类的实例来实现。
优点:
- 隐藏实现的细节信息,提高安全性;
- 符合高内聚,低耦合的程序设计;
- 类内部的实现可以自由修改。
2.继承
继承的关键字是extends。
当子类继承父类时:
- 子类继承了父类中非私有(非private修饰)的属性和方法;
- 子类可以有自己的属性和方法;
- 子类可以重写父类的方法。
优点
- 实现代码共享,避免重复;
- 继承可以使修改或者扩展继承而来的实现都较为容易。
缺点
- 父类变,子类不得不变;
- 继承会破坏包装类,父类实现细节暴露给子类。
- 继承是一种类与类之间强耦合的关系
多态
多态表示不同的对象可以执行相同的动作,但是要通过它们本身的方法来实现。
多态存在的条件:
- 要在继承的前提下
- 子类要有重写父类的方法
- 父类引用指向子类对象,如:Animal a = new Dog();但是此时不能使用子类特有的方法和属性。