在不改变源码的情况下如何为原有的类添加更多的函数和对象?

努力偷懒 2008-02-21 06:15:23
例如我有一个User类,现在我想引申出一个新的类AdminUser,该AdminUser类拥有User类的所有,并在它的基础上加入一个Cache对象,并想对User原有的一个函数:public object FindObjByID(int i)重载成:这样一段代码:
public object FindObjByID(int i)
{
if (cache.indexof(i)!=null)
{return cache.indexof(i);}
else
{base.FindObjByID(i);}//这里是执行父类的方法。
}
上面的写法可能有错,基本上的意思的:从引入的该cache属于缓存对象,如果在缓存中能够查询出该对象就用缓存中的对象,否则就用父类的方法返回对象。
不知这样该如何去实现呢?先谢谢大家先啦!
...全文
129 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
努力偷懒 2008-02-21
  • 打赏
  • 举报
回复
我目前也是这么想的,先谢谢各位了。
csharp_start 2008-02-21
  • 打赏
  • 举报
回复
是啊,直接继承后重写就是了.这是基本的OO思想.
blestcc 2008-02-21
  • 打赏
  • 举报
回复
新類繼承舊類

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧