Java语言的面向对象
抽象过程
- 万物皆为对象,将对象视为奇特的变量,可以存储数据,还可以对自身进行操作
- 程序是对象的集合,他们通过发送消息来告知彼此所要做的—–>(可以理解为你调用我,我调用你)
- 每个对象都有自己的由其他对象所构成的存储 (对象可以包含其他对象)
- 每个对象都用其类型(每一个对象都有其对应的一个类型)
- 某一特定类型的所有的对象都可以接收同样的消息
每一个对象都有一个接口
- 类描述具有相同特性(数据元素)和行为(功能)的对象集合,所以一个类实际上就是一个数据类型
- 接口可以看作是一组功能需求和常量的集合
为什么有了类还要设计出类这个概念呢?
- 第一:Java语言只能支持单继承,单根继承结构保证所有对象都具备某些功能,也容易在堆上创建,垃圾回收器的实现容易的多
- 第二:是我个人的观点,例如两类事物的属性完全不同,但是却可以同一个相同的操作,虽然也可以也可以用更抽象的类表示,也可以将这一行为操作定义为接口。但是:A不同于B,B不同于C,A不同于C,但是A和B可以做想用操作p1,B可以和C做相同操作p2。但是或许接口在某些时候会发挥更好的效果。
每个对象都提供服务
每个对象都有他自身的方法,这些方法就是你可以提供的服务。
继承和多态
多态的实现主要是靠方法的覆盖重写来实现的。
Java面向对象的UML关系主要有如下:
- 继承/泛化
- 实现
- 单向依赖
- 双向依赖
- 单向关联
- 双向关联
- 聚合
- 组合
表示符号如下所示: