三大特性:
封装
就像实体类,private 限制,在这个实体类创建方法,其他类调用实体类的字段,就必须经过这些方法,比如:get()、set()方法。
继承
一个子类继承一个大类的所有方法,类与类之间用extends,类实现接口用implements,父类引用子类,如下面代码所示,叫向上转型
Animal animal = new Cat();
多态
编译时多态
方法重载时表现,重载表示一个作用域中,可以有多个相同名字的方法,但是这些方法参数的类型和个数不一样。
运行时多态
必须满足三个条件:继承、向上转型、方法重写,当满足这三个条件时,表现为多态
类图:
泛化关系
类与类之间的继承,用extends关键字
实现关系
类实现接口时,用implements关键字
聚合关系
一个整体由多个个体组成,它们是弱依赖,当整体取消时,个体依然存在,比如:班级取消时,学生依然存在
组合关系
同样是一个整体由多个个体组成,它们是强依赖,但是当整体取消时,个体一起消失
关联关系
表示不同类对象之间有关联,这是一种静态关系,与运行过程的状态无关,在最开始就可以确定。因此也可以用 1 对 1、多对 1、多对多这种关联关系来表示。比如学生和学校就是一种关联关系,一个学校可以有很多学生,但是一个学生只属于一个学校
依赖关系
和关联关系不同的是,依赖关系是在运行过程中起作用的。A 类和 B 类是依赖关系主要有三种形式:
- A 类是 B 类中的(某中方法的)局部变量;
- A 类是 B 类方法当中的一个参数;
- A 类向 B 类发送消息,从而影响 B 类发生变化;