接口和实现-三菱数控指导手册api

时间:2024-07-03 00:32:42
【文件属性】:

文件名称:接口和实现-三菱数控指导手册api

文件大小:1.91MB

文件格式:PDF

更新时间:2024-07-03 00:32:42

python

17.10 接口和实现 面向对象设计的一个目标是使得软件更容易维护,这意味着当系统的其它部分改变时 程序还能正常运行,你可以修改程序满足新的需求。 有助于实现该目标的一个设计原则是,接口和实现分离。对于对象,就意味着一个类提 供的方法不应该依赖属性的形式。 例如,在本章中,我们设计了一个表示一天中时间的类。这个类提供的方法包括 time_to_int,is_after和 add_time。 我们有多种方式可以实现这些方法。实现的细节取决于我们如何表示时间。在本章中, Time对象的属性是 hour,minute和 second。 另一种方式是,我们用一个整数表示从零点开始的秒数,来替代这些属性。这个实现会 使得一些方法 (如 is_after )更容易编写,但也让编写其他方法变得更难。 在你完成一个新类后,你可能会发现有一个更好的实现。如果程序其他部分使用了你的 类,再来改变接口需要很多时间,而且容易出错。 但是如果你细心设计好接口,你可以改变实现而保持接口不变,这样程序的其它部分都 不用改变。 17.11 调试 在程序执行的任何时间,为一个对象添加属性都是合法的,但是如果相同类型的对象拥 有不同的属性,就会很容易出现错误。通常一个好的做法是在 init方法中初始化一个对 象的所有属性。 如果你不确定一个对象是否应该有某个属性,你可以使用内建函数 hasattr (参见 15.7节)。


网友评论