ser*_*hio 8 .net c# vb.net oop
我们有三个班级;
Line
PoliLine
SuperPoliLine
Run Code Online (Sandbox Code Playgroud)
因为所有三个类都Distance被定义了.
但只有Linea Distance可以设置.
是否有可能构建一个公共抽象(MustInherit)类Segment,具有Distanceas(abstract +?ReadOnly)成员?
关于VB.NET的问题,但C#答案也受到了欢迎.
商业背景
想象一下公共汽车.它有很多Stations,MainStations和2 TerminalStations.因此Line位于2个站之间,PoliLine介于2 MainStation秒之间,SuperPoliLine位于2个TerminalStations之间.所有"线"都是"分段",但只有两个站之间的距离A-> B - 可以定义线.
您不能同时覆盖和重新声明(以添加集合) - 但您可以这样做:
基类:
protected virtual int FooImpl { get; set; } // or abstract
public int Foo { get { return FooImpl; } }
Run Code Online (Sandbox Code Playgroud)
派生类:
new public int Foo {
get { return FooImpl; }
set { FooImpl = value; }
}
// your implementation here...
protected override FooImpl { get { ... } set { ... } }
Run Code Online (Sandbox Code Playgroud)
现在您还可以根据需要重写 FooImpl。
| 归档时间: |
|
| 查看次数: |
2271 次 |
| 最近记录: |