这里写目录标题
- 1.面向对象的基本概念
- 1.1方法重载
- 1.2封装
- 1.3继承
- 1.4多态(由继承机制支持)
- 2.静态,动态绑定
- 3.面向对象设计原则
- 3.1面向对象分析(OOA)
- 3.2面向对象的设计(OOD)
- 3.3面向对象程序设计(OOP)
- 3.4面向对象测试
1.面向对象的基本概念
一个类定义了一组大体上相似的对象
一个类包含方法(行为),数据(属性)
类是对象的抽象
对象是类的具体化,是类的实例
类:实体类,接口类(边界类,交互),控制类(协调者)
对象由对象名,属性(状态),方法组成
类名 对象名 = new 类名();//创建对象
对象名.属性或方法;//调用
1.1方法重载
方法名必须相同
参数的类型,个数,顺序至少一个不同
public void text(double x){}
public void text(int a){}
public void text(double x,int a){}
public void text(int a,double x){}
1.2封装
封装是一组属性和行为的整体
属性要私有化private
public void setXxx(数据类型 参数名){
//条件判断
属性 = 参数名;
}
public 数据类型 getXxx(){
return xxx;
}
1.3继承
子类可以继承父类的所有方法
子类可以有自己的方法
子类可以通过重写来覆盖父类的方法
class A{
public void eat(){}
public void sleep(){
System.out.println("睡了一觉");
}
}
class B extends A{
public void sleep(){
//重写了父类中的sleep()方法
System.out.println("睡觉");
}
}
1.4多态(由继承机制支持)
不同的对象收到同一消息可以产生不同的结果
//父类的引用指向子类的对象
父类名 对象名 = new 子类名;
//编译看左,运行看右
//只能访问父类的属性和方法,不能访问子类的
//访问子类的特有方法会编译报错
通用:参数多态,包含多态
特定:过载多态,强制多态
参数多态:泛型
包含多态:父类引用子类
过载多态:重载方法,上下文中代表不同含义
强制多态:强制类型转换
2.静态,动态绑定
静态绑定:在编译时进行绑定
动态绑定:在运行时进行绑定
3.面向对象设计原则
1.单一责任原则:一个类仅有一个引起它变化的原因
2.开放-封闭原则:扩展开放,修改封闭
3.里氏替换原则:基类出现子类一定可以出现
4.依赖倒置原则:依赖于抽象,而不依赖于细节(实现),高层模块无法不依赖于低层模块
5.接口分类原则:依赖于抽象,而不依赖于具体
6.共同重用原则:重用了包中的一个类,就要重用包中的所有类
7.共同封闭原则:一个变化若对一个包产生影响,则将对该包中的所有类产生影响
3.1面向对象分析(OOA)
目的:获得对应用问题的理解
包含5个活动:
1.认定对象(找个对象):定义问题域,名词作为一个对象
实质性对象:客户服务,清算
2.组织对象(交往成对象)
3.对象间的相互作用(对象间的互动)
4.基于对象的操作(对象能做的行为)
5.定义对象的内部信息(对象的内心想法)
3.2面向对象的设计(OOD)
理解解决方案,实现系统的实现
OOD复用OOA模型,对应的5个活动:
1.识别类及对象
2.定义属性
3.定义服务
4.识别关系
5.识别包
3.3面向对象程序设计(OOP)
3.4面向对象测试
面向对象测试的4个层次:
1.算法层
2.类层
3.模板层
4.系统层
分析→设计→程序设计→测试