码迷,mamicode.com
首页 > 其他好文 > 详细

记录一个设计的问题

时间:2014-07-14 08:26:46      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   问题   div   re   

需求如下,现有一个类A以及子类B,C,D

abstract class A{

   abstract void fn();

}

class B:A{
   override void fn(){}
}

class C:A{
   override void fn(){}
}
class D:A{
   override void fn(){}
}

 

显然,B,C,D需要各自重写相应的 fn() 来完成自己的功能。但是B,C,D由于功能相似,其fn()实现几乎相同。这个公共的函数有三种写法:

1. 在 A 里添加一个 protected 成员,然后在 B,C,D 都可直接调用。

2. 改写 A 的 abstract 为 virtual,然后在子类通过 base.fn() 调用。

3. 新建一个类,并且写成静态函数供B,C,D调用。

记录一个设计的问题,布布扣,bubuko.com

记录一个设计的问题

标签:style   blog   color   问题   div   re   

原文地址:http://www.cnblogs.com/xuld/p/3840093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!