权重域名

已备案域名,老域名交易,高权重域名购买,百度权重域名出售,权重域名买卖,万网已备案老域名注册查询抢注转让,买老域名,二手老域名,鹰潭网站建设

合成与继承的选择

作者:zhushican 发布:2014-08-14 分类:建站教程 阅读: 次 0条评论

合成继承都能让你将子对象植入新的类(合成是显式的,继承是隐含的)。也许你向了解一下这两者有什么区别,以及该如何进行选择。一般来说,合成用于新类要使用旧类的功能,而不是其接口的场合。也就是说,把对象嵌进去,用它来实现新类的功能,但是用户看到的是新类的接口,而不是嵌进去的对象的接口。因此,你得在新类里嵌入private的旧类对象。

有时,让用户直接访问新类的各个组成部分也是合乎情理的;这就是说,将成员对象定义成public。成员对象各自都有隐藏实现的机制,因此这么做也是安全的。如果用户知道你用了哪些零件,那么接口对他们来说就变得更简单了。

Car对象就是一个很好的例子,car的各个组成还是一个分析问题的过程,因而将成员定义成public的,有助于客户程序员理解该如何使用这个类,由此也降低了这个类自身的开发难度。但是要记住这只是一个特例,通常情况下,你都应该将成员数据定义成private的。

继承则是要对已有的类做一番改造,以此获得一个特殊版本。简而言之,你要将一个较为抽象的类改造成能适用于某些特定需求的类。稍微想一下就会知道,用vehicle对象来合成一个car是毫无意义的——car不包含vehicle,它本身就是vehicle。继承要表达的是一中“是”的关系,而合成要表达的是“有”的关系。

除非注明,本站所有文章均为 zhushican 原创,转载请注明出处! 标签:合成  继承  选择  
« 上一篇下一篇 »

合成与继承的选择:目前有0条评论