第六章 面向对象

这里写目录标题

  • 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.系统层

分析→设计→程序设计→测试

  • 21
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值