(3.2).[6章]可以工作的类:良好的类接口-好的抽象(p133)

一、疑惑

我发现当对某个词语有了概念认识后,但当这个词在其它文章代表的是另一个意义的,对这篇文章的理解就会很难,因为你会用原来的概念来理解,就会发现感觉不是那么会事,所以想理解这篇文章,得暂时把对这个词原来的意义放下,而按这篇文章的意义来读。

这是我们第6章时的困扰,从上一节的ADT,到这节的类接口。

这里所谓的【类接口不是指编程语言上的【接口类】,而是指类公开给外部能使用的方法或属性。在读整节时,对接口的意义都是这个,而不要想到是编程语言的接口类,不然会影响对相关内容的理解或都直接理解 错了。

二、抽象和接口

抽象是一种以简化方式来看待复杂的能力

通过接口展现合理的抽象,并确保细节仍被隐藏在抽象背后。

类的接口为隐藏在其后的具体实现提供了一种抽象,应能提供一组明显相关的子程序。

一个没有经过良好抽象的类可能会包含有大量混杂的函数,需要对它进行清理,把原有的一些子程序转移到其它更合适的类,把一些转移到其它子程中。

三、针对接口编程,而不是针对实现编程

这句话的意思是说我们在使用其它类时,只需要从类的接口(公共方法或属性)就能清楚知道该怎么使用这个类进行编程,而不用深入类的内部实现细节,才知道该怎么调用方法。说明了类的接口抽象封装的重要性。

四、创建优秀类的抽象接口指导建议

  1. 类的接口应该展现一致的抽象层次
  2. 一定要理解类所实现的抽象是什么
  3. 提供成对服务
  4. 把不相关的信息转移到其它类中
  5. 尽可能让接口可编程,而不是表达语义
  6. 谨防在修改时破坏接口的抽象
  7. 不要添加与接口抽象不一致的公用成员
  8. 同时考虑抽象性和内聚性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值