C#子类还是接口?

Shw*_*arz 1 c# inheritance subclass

对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
     }
}
Run Code Online (Sandbox Code Playgroud)

无论我做了什么,它似乎都有效.另外,关于子类的主题,是否有一种常用的方法来命名它们?例如MyClass_SubClass,还是_MyClass等?

非常感谢!

编辑:再次感谢大家!我想我在这里寻找这个答案.无论如何,我意识到我误解了这个任务 - 根本不需要嵌套或继承!刚刚创建了一个单独的类.

Bra*_*NET 6

你已经嵌套了你的类,这是你应该避免的,直到你更好地理解C#和OOP(然后你继承,这很奇怪).

子类化或派生是通过继承来完成的.在你的例子中:

public class MyClass
{
     private string connString;
     // exec stored procedure 1
}

public class MySubClass : MyClass
{
      otherClass o = new otherClass(connString);
      // exec stored procedure 2
}
Run Code Online (Sandbox Code Playgroud)

要允许MySubClass访问该成员MyClass,该成员需要标记为protected更高或更高.private成员不能在包含类之外访问.

public class MyClass
{
     protected string connString;
     // exec stored procedure 1
}
Run Code Online (Sandbox Code Playgroud)