jbk*_*kkd 2 c# oop inheritance encapsulation
在C#中,我有一个类,foo它继承自类bar,而类继承自类foobar.
在foo构造函数中,我想foobar直接调用构造函数,而不是调用bar构造函数.我试过这样的事情:
public foo(int i): base : base(i)
Run Code Online (Sandbox Code Playgroud)
显然这不起作用.如果不通过bar构造函数,你将如何使它工作?
Joh*_*hnB 12
你不能,因为你不能跳过bar的初始化.你必须在bar中创建一个构造函数来传递你的参数.原因在于决定如何构建基类是有责任的.(基类的构造是bar 实现的一部分,面向对象的原则之一是封装 - 将实现隐藏到外部.)
| 归档时间: |
|
| 查看次数: |
1851 次 |
| 最近记录: |