一.概述
- 对象
概念:是一个抽象概念,世间万物皆对象
分类:静态部分和动态部分 - 类
类是封装对象的属性和行为的载体,反过来说,具有相同属性和行为的一律实体被称为类
二.面向对象程序设计的特点
-
封装:是面向对象的核心思想,将对象的属性和行为封装起来,其载体就是类
image.png
-
继承:继承是实现重复利用的重要手段,子类通过继承,复用父类属性和行为的同时又添加了子类特有的属性和行为。
image.png
-
多态:将父类对象应用于子类的特征就是多态
三.类之间的关系
1..纵向关系:比较清晰
- 继承:父子关系 : extends
- 实现:类对接口的实现: implements
2.横向关系:取决于语义
-
依赖
地位:双方的地位往往是独立平等的;
程度:是偶尔的、临时性的、不频繁的;
代码层面的表现形式而言,往往是局部的变量;
eg:人与自行车。 -
关联
地位:双方的地位往往是独立的、平等的;
程度:是长期的、稳定的、频繁的;
代码层面的表现形式而言,关联往往以全局属性的形式存在;
类与类之间的联接,它使一个类知道另一个类的属性和方法。
eg:程序员和电脑。
package com.soft1841.oop.week1;
public class Person {
Department dep;
} -
聚合
地位:双方的地位不是平等的,是整体和部分之间的关系;
程度:是长期的、稳定的、频繁的,整体和部分都有自己的生命周期,一方的消失另外一方不会跟着消失;
eg:班级与学生 -
组合
地位:双方的地位不是平等的,是整体和部分之间的关系;
程度:部分的生命周期取决于整体,部分随着整体的消失而消失;
注:区分是聚合还是组合的核心点是在生命周期
eg:人与人的器官
package com.soft1841.oop.week1;
public class Person {
Header header;
Hander hander;
Heart heart;
}
网友评论