首页 > 学院 > 开发设计 > 正文

记录一个设计的问题

2019-11-17 03:03:05
字体:
来源:转载
供稿:网友

记录一个设计的问题

Posted on 2014-07-12 16:14 xuld 阅读(...) 评论(...) 编辑 收藏

需求如下,现有一个类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调用。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表