【发布时间】:2014-11-06 01:59:56
【问题描述】:
对 C# 很陌生——我被指示创建一个子类来对基类进行变体。以前从来没有做过子类,我读了一点,然后试了一下。从基类继承后,我只能从子类访问 MyClass 的私有属性。我在这里做了什么?这是一个真正的子类,还是某种嵌套的继承?
public class MyClass
{
private string connString;
// exec stored procedure 1
public class MySubClass : MyClass
{
otherClass o = new otherClass(connString);
// exec stored procedure 2
}
}
无论我做什么,它似乎都有效。 另外,关于子类的话题,是否有一种通用的方式来命名它们?例如MyClass_SubClass 还是 _MyClass 等?
非常感谢!
编辑:再次感谢大家!我想我正在寻找这个答案here。无论如何,我意识到我误解了这项任务——根本不需要嵌套或继承!刚刚创建了一个单独的类似类。
【问题讨论】:
-
我不太明白您的问题,但是您可以访问 outer 类的私有字段的原因是它包含了您进行访问的内部类.它与子类化没有任何关系。
-
我只能在从基类继承时访问私有字段,这令人困惑。更改为
protected允许我将嵌套类移到基础之外并且仍然可以访问该字段。
标签: c# inheritance subclass