sim*_*005 8 c# parameters methods overriding
是否可以创建如下所示的基类:
public abstract class baseClass
{
public abstract void SetParameters(/*want this to be adjustable*/);
}
Run Code Online (Sandbox Code Playgroud)
以便覆盖它的类可以定义所需的参数?换句话说,我想强制重写该方法,但是将它留给覆盖类,这里需要什么 - 所以可能是
public class derivedClass1 : baseClass
{
public override void SetParameters(Point a, int b);
}
Run Code Online (Sandbox Code Playgroud)
而另一个可能是
public class derivedClass2 : baseClass
{
public override void SetParameters(List<Line> a, Point b, Point c, bool e);
}
Run Code Online (Sandbox Code Playgroud)
?
谢谢你提供的所有帮助
Jon*_*eet 10
绝对不是 - 这将首先打破抽象方法的一半 - 没有人能够调用它,因为他们不知道实际写了哪个方法签名.抽象类的重点是客户端可以具有类型的引用,BaseClass而无需关心实际实现的类型.
如果基类是能够提前哪些类型可能涉及到预测,一种可能性,使生活更轻松的调用者有最普遍的签名(通常是一个最参数)的抽象,使其中各种重载调用该general one为客户端未指定的参数提供默认值.
| 归档时间: |
|
| 查看次数: |
5941 次 |
| 最近记录: |