1.1 面向对象基础


返回目录 1 面向对象技术
下一节 1.2 面向对象分析


面向对象基本概念:

面向对象=对象(Object)+分类(Classification)+继承(Inheritance)+通过消息的通信(Communication with Messages)

采用上述四个基本概念进行开发的系统是面向对象的。

感觉理论比较枯燥的,可以直接跳转到1.4开始实际操作。

  • 对象

    • 对象是系统中的基本运行实体,是代码和数据的集合
    • 对象是类的实例化
    • 女朋友是对象、一对象棋也是对象;
    • 万物皆对象。
  • 消息

    • 对象之间进行通信的一种构造叫作消息;
    • 牛魔点击[发起进攻]按钮,韩信看到信号以后加入团战。这种通信机制称为消息传递
    • graph LR
         牛魔发送信息 --> 韩信收到信息
         韩信收到信息 --> 韩信解释信息
         韩信解释信息 --> 韩信执行操作

      clipboard.png

    • 发送消息的对象不需要知道接收消息的对象如何对请求予以响应。
    • 一个类定义了一组大体相似的对象;
    • 一个类所包含的方法和数据描述一组对象的共同行为和原性;
    • 类是在对象之上的抽象,对象是类的具体化,是类的实例(Instance);
    • 类可以分为三种:

      • 实体类

        • 人是实体类;
        • 柴犬是实体类;
        • 手机屏幕是实体类。
      • 接口类(边界类)

        • 接口类(边界类)的对象为用户提供一种与系统合作交互的方式,分为人和系统两大类;
        • 人的接口类像是二维码、对话框之类;
        • 系统的接口用来与其他系统交换数据。
      • 控制类

        • 控制类能够表示系统的动态行为,处理主要的任务和控制流,所以它们可以帮助理解系统
        • 控制类的对象用来控制活动流,充当协调者
    • 有些类之间存在一般和特殊关系,即一些类是某个类的特殊情况,某个类是一些类的一般情况:

      • 这是一种is-a关系,即特殊类是一种一般类
      • 特殊类是一般类的子类,一般类是特殊类的父类;
      • 人是一种一般类;
      • 男人和女人都是特殊类,他们继承于人类;
      • graph TB
        人 --> 男人
        人 --> 女人
        

        clipboard.png

      • 同时人类也是另一种一般类——哺乳动物类的特殊类。
    • 通常,把一个类和这个类的所有对象称为类及对象对象类
  • 继承

    • 继承是父类和子类之间共享数据和方法的机制;
    • graph LR
      父类=属性1 --> 子类=属性1+属性2+...

clipboard.png

  • 比如父亲有一栋房子A,继承给了儿子,然后儿子又买了一套房子B。这时候儿子同时有了两套房子。
  • C++可以多重继承
  •   graph LR
      飞鸟 --> 假装这是一只飞鱼
      海鱼 --> 假装这是一只飞鱼

clipboard.png

  • 多态

    • 多态就是不同的对象收到同一消息可以产生完全不同的结果
    • graph TB
      叫 --> 猫=喵喵喵
      叫 --> 狗=汪汪汪

clipboard.png

  • 动态绑定

    • 绑定是一个把过程调用响应调用所需要执行的代码加以结合的过程;
    • 绑定是在编译时进行的,叫作静态绑定
    • 动态绑定是在运行时进行的;
    • 动态绑定是多态实现的具体形式

返回目录 1 面向对象技术
下一节 1.2 面向对象分析


参考资料:

  • 《软件设计师教程》第五版
  • 百度百科

冰河相依
1 声望3 粉丝

于冰河相依。