Inheritance + NestedClasses in C#

后端 未结 4 526
心在旅途
心在旅途 2020-12-17 21:25

We can have nested classes in C#. These nested classes can inherit the OuterClass as well. For ex:

public class OuterClass
{
  // code here
  public class Ne         


        
4条回答
  •  醉酒成梦
    2020-12-17 21:49

    Its maybe too late But Let me Add my 2 cents Please , If I could understand your question correctly , You mean :

    What is the advantage of a nested class that also inherited from its outer class?

    The key point is in Construction

    First Code :

        public class OuterClass
    {
        public OuterClass{console.writeln("OuterClaass Called");}
    
      public class NestedClass : OuterClass //It does Inherit
      {
        public NestedClass{console.writeln("NestedClass Called");}
      }
    }
    
    static void Main()
    {
      outerClass.NestedClass nestedobject = new outerClass.NestedClass();
    }
    

    OutPut :

    Outerclass Called

    NestedClass Called

    Second Code :

    public class OuterClass
    {
        public OuterClass{console.writeln("OuterClaass Called");}
    
      public class NestedClass //it dosent Inherit
      {
        public NestedClass{console.writeln("NestedClass Called");}
      }
    }
    
    static void Main()
    {
    
      OuterClass.NestedClass nestedobject = new OuterClass.NestedClass();
    }
    

    Output :

    NestedClass called


    In the first code when constructing the NestedClass object , the Constructor of the OutrClass also would be Called and In my opinion it means Composition Relationship between NestedClass and The OuterClass But In the Second Code Object Construction of the NestedClass and the Outerclass Is not bounded together and its done independently .

    hope it would be helpfull.

提交回复
热议问题