7面向对象技术

7面向对象技术

面向对象(3-4分):37-39题或37-40题

  • 面向对象

    • 面向过程和面向对象

    • 面向对象概念

      • 对象

        • 对象名
        • 属性
        • 操作
      • 分类

        • 实体类

        • 接口类

          • 人的接口类
          • 系统的接口类
        • 控制类

          • 控制活动者,充当数据流
      • 继承

      • 通过消息的通信

        • 对象间的通信
    • 重载

      • 方法名相同

        • 参数个数不同
        • 参数顺序不同
        • 参数类型不同
    • 三大特点

      • 封装

      • 继承

      • 多态

        • 编译看左边,运行看右边

        • 4类多态

          • 通用的

            • 参数的
            • 包含的
          • 特定的

            • 过载的
            • 强制的
        • 方法重载、继承、方法重写、自动转型

    • 绑定

      • 动态绑定

        • 运行时进行
      • 静态绑定

        • 编译时进行
    • 设计原则

      • 单一责任原则SRP

        • (Single Responsibility Principle,SRP)。就一个类而言,应该仅有一个引起它变化的原因
      • 开放-封闭原则OCP

        • (Open Close Principle,OCP)。软件实体(类、模块、函数等)应该是可以扩展的,即开放的:但是不可修改的,即封闲的
      • 里氏替换原则LSP

        • (Liskov Substitution Principle,LSP)。子类型必须能够替换掉他们的基类型。即,在任何父类可以出现的地方,都可以用子类的实例来赋值给父类型的引用。当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有是一个(is-a)关系
      • 依赖倒置原则DIP

        • (Dependence Inversion Principle,DIP)。抽象不应该依懒于细节,细节应该依赖于抽象。即,高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
      • 接口分离原则ISP

        • (Interface Segregation Principle,ISP)。不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。即:依颗于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。这样做的好处就在于可以最大限度地应对可能的变化。
      • 最少知识原则LKP(迪米特法则LOD)

        属于设计模式的原则,不属于面向对象的原则

        • (Least Knowledge Principle)(Law of Demeter )一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖,因此,很容易使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。
    • 面向对象分析OOA

      • 认定对象

        • 实质性对象
      • 组织对象

        • 抽象成类

          • 通过类继承构造类层次
      • 描述对象间的相互作用

        • 各对象在应用系统中的关系
      • 确定对象的操作

      • 定义对象的内部消息

    • 面向对象设计OOD

      • OOA分析模型转OOD设计模型

        • 识别类及对象
        • 定义属性
        • 定义服务
        • 识别关系
        • 识别包
    • 面向对象程序设计OOP

      • 继承和类层次结构
      • 对象、消息传递和方法
      • 对象自身引用
      • 重置
      • 类属类
      • 无实例的类
    • 传统测试

      • 逻辑值覆盖
      • 等价类划分
      • 边界值分析
    • 面向对象测试

      • 算法层

        • 测试类中定义的每个方法,相当于传统测试的单元测试
      • 类层

        • 测试封装在同一个类中的所有方法与属性之间的相互作用。在而向对象软件中类是基本预项,因此可以认为这是面向对象测试中所特有的模块测试。
      • 模板层

        • 测试一组协同工作的类之间的相互作用,大体上相当于传统软件测试中的集成测试,但是也有面向对象软件的特点(例如,对象之间通过发送消息相互作用)。
      • 系统层

        • 把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。
    • 静态成员

      • 而向对象开发方法中,静态成员的含义是所修饰的成员是属于类的,而不是属于某对象的。
      • 静态数据成员对该类只有一份,该类的所有对象共享静态数据成员,可被该类的所有方法访问。
      • 静态数据成员的值可以修改,但是不论是通过对象还是类对静态数据成员值的修改,都会反应到整个类。
      • 类的静态方法只能访句该类的静态数据成员。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值