面向对象,这是一种思想,“万物皆对象”,在编程过程中,任何资源都可视为对象,可以是各种变量,也可以是生活中的事物,每个对象都具有各自的状态特征和行为特征,也就是属性和方法,而在编程当中,就是通过对象之间行为的交互来解决问题的。在Java语言中,可以如下理解:
- 在Java语言范畴当中,我们都将功能、结构等封装到类中,通过类的实例化来调用功能结构,也就是对象之间属性的调用
- 涉及到Java相关的技术,包括前端HTML页面、后端数据库的交互,以及文件资源、网络资源URL等等,这些都可以视为对象
类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性和行为特征的对象所抽象出来的,对象是类的一个实例,类具有三个特性:封装、继承和多态
- 封装:隐藏对象的属性和实现细节,仅对外公开接口,便于外界调用,从而提高系统的可拓展性、可维护性。即把该隐藏的隐藏起来,该暴露的暴露出来并对外提供可调用的接口,这就是封装的设计思想。
- 良好的封装能够减少耦合
- 类内部的结构可以自由修改
- 可以对成员变量进行更精确的控制
- 隐藏信息,实现细节
- 继承:继承描述的是事物之间的所属关系,是从已有的类中构建出新的类,已有的类称为父类,新的类称为子类,子类具有父类的数据属性和方法,并能扩展新的属性和方法。
- 提高了代码的复用性,提高了软件的开发效率
- 让类与类之间产生了联系,提供了多态的前提
- 多肽:多态就是描述一个事物的多种形态,如小明是一个学生,他既是人,也是学生,出现两种形态。Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。如我们经常写的代码:UserDao userDao = new UserDaoImpl();
- 提高了代码的维护性(由继承保证)
- 提高代码复用性(由继承保证)
- 提高了代码的扩展性:新增加的子类不影响已存在类的多态性、继承性以及其他特性
- 安全性:向上转型将子类类型隐藏了起来