有个类有很多方法,但这些方法最后一步都要执行同一个方法(此方法有重载),只是参数不同,应如何优化这些代码。
public class A{
public void Method1(){
//……
SetOrder(23);
}
public void Method2(){
//……
SetOrder("abc");
}
public void Method3(){
//……
SetOrder("1246");
}
}
//实充问题:不是SetOrder方法不会写,这个方法是写好了。只是A类的方法里最后一句调用此方法,传入不同参数,我想优化代码的目的是写A类方法时,不用老写这一句,因为有时可能也会忘了调用SetOrder方法,这样的框架是不理想的,另外在别的地方也不好访问这方法里的SetOrder,最后我想若没有好的框架设计这个问题,我想还是考虑写成属性。
public class A{
void Method(Object value)
if(value==null)
{
return ;
}
Type ty=Typeof(value);
switch(ty)
{
case int.getType():
doSthwithInt();
break;
case String.getType():
doSthwithString();
break;
default:
break;
}
可以用泛型啊。
public void Method1(object o){
//……
SetOrder(23);
}
SetOrder(object o){}
public class MyCMetod<T> { public T m_value; public void SetValue(T t) { m_value = t; } public T GetValue() { return m_value; } } //使用 MyCMetod<int> _myc=new MyCMetod<int>(); _myc.SetValue(3); MyCMetod<string> _mycStr=new MyCMetod<string>(); _mycStr.SetValue("aaa"); //.....
基类开个虚方法
那也不可能一个类十几个方法都去实现这个虚方法吧。
@╰☆炫〃╰芯苡╯: 虚方法有默认行为的,只有子类与基类不一致时才需要override的。你到底有没有写过虚方法呀
这些人啊。。。就一个参数而已。。直接调用能死啊!