C++ Follow Me(3): 类的产生(下):从职责中提取

C++ Follow Me(3): 类的产生(下):从职责中提取

黄国强 2006-12-21

    在C中,软件可以认为是函数的集合。我们一般是从功能中来提取函数并将之模块化。与C不同的是,C++程序是由一系列类组成。所以按功能来获得类的出发点是不对的。那么,我们应该从什么角度才能得到我们所需的类了?答案正如标题所述,从职责中提取。
    职责(responsibility)和功能(function)到底有什么区别呢?这两个词很容易混淆。我在这里做个比方:比如,作为一个老师对自己的学生,就应该履行做教师的职责。显然,这里没有人会说履行一个做教师的功能。
    职责显然要涵盖功能,二者不在一个抽象层面上。简单的说,职责就是界定什么类应该对某件事情负责,而不是简单的完成某个功能。
    对于数学概念来说,职责和概念往往是统一的。比如,正方形,长方形都可以直接提取为类。因为,数学概念是逻辑化的而且是精确的。与此相对应的自然概念却不能简单这样提取,因为二者不是统一的。比如,给桌子定义成一个类,你就会遇到问题。最明显的,桌子是什么形状,到底有几条腿或没有等等。所以简单的从自然概念中提取基本上行不通。这里同样要从职责的角度去提取。比如,食堂的饭桌负责给大家吃饭用的、电脑桌负责放电脑等等。这样产生类的时候就不会遇到前面所提到的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

acloud_csu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值