1、什么是OOP?
OOP代表面向对象编程。
面向过程编程是编写对数据执行操作的过程或方法,而面向对象的编程是创建包含数据和方法的对象。
面向对象的程序设计比面向过程程序设计具有以下优点:
1) 结构清晰,程序是模块化和结构化,更加符合人类的思维方式;
2) 易扩展,代码重用率高,可继承,可覆盖,可以设计出低耦合的系统;
3) 易维护,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活,更易于维护,系统低耦合的特点有利于减少程序的后期维护工作量。
2、Java 类和对象
类和对象是面向对象编程的两个主要方面。
查看下面示例,以了解类和对象之间的区别:
类(class) | 对象(object) |
狗 | 哈士奇 金毛 泰迪 |
水果 | 苹果 香焦 草莓 |
如上面示例,类是对象的模板,而对象是类的实例。
创建单个对象时,它们将从类继承所有变量和方法。
3、Java 面向对象三大特性
Java面向对象编程有三大特性,它们是封装、继承和多态。
封装:
将类封装起来,只提供想提供的方法接口,而不需要提供具体实现细节,这样一来使得程序更加健壮。 另一方面比方说项目做到一半换人了,老板现在要求吧代码改了,有了封装之后,你完全不用管前人写的烂代码,只需要给出必须的接口方法,就可以自己写自己的了,修改方便。
继承:
继承很明显就是从一个已有的类那得到一些东西,能够很好的实现代码的重用性。被继承的类称之为父类或者超类,继承父类的类称为子类。Java中所有类都是Object类的子类。另外Java中只允许单继承,这样一来避免了多继承带来的代码过度耦合的问题。虽然不能多继承,但是Java中可以实现多个接口,来实现功能的扩展。
多态:
指的是子类对象可以赋值给父类变量,但运行是仍表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可以表现出多种行为特征。简单来说,就是程序中同名的不同方法。