2010-11-22 29 views

risposta

18

Intendi questo?

public class Foo 
{} 

public class Bar : Foo 
{} 

In questo caso, la barra è la sottoclasse.

22

Ecco un esempio di scrittura di una ParentClass e creazione di una ChildClass come sottoclasse.

using System; 

public class ParentClass 
{ 
    public ParentClass() 
    { 
     Console.WriteLine("Parent Constructor."); 
    } 

    public void print() 
    { 
     Console.WriteLine("I'm a Parent Class."); 
    } 
} 

public class ChildClass : ParentClass 
{ 
    public ChildClass() 
    { 
     Console.WriteLine("Child Constructor."); 
    } 

    public static void Main() 
    { 
     ChildClass child = new ChildClass(); 

     child.print(); 
    } 
} 

uscita:

 
Parent Constructor. 
Child Constructor. 
I'm a Parent Class. 

Invece di riscrivere l'ennesimo esempio di .Net eredità ho copiato un esempio decente dal C Sharp Station website.

4

Intendi l'ereditarietà di classe?

public class SubClass: MasterClass 
{ 
} 
1

This page spiega bene:

public class SavingsAccount : BankAccount 
{ 
    public double interestRate; 

    public SavingsAccount(string name, int number, int balance, double rate) : base(name, number) 
    { 
     accountBalance = balance; 
     interestRate = rate; 
    } 

    public double monthlyInterest() 
    { 
     return interestRate * accountBalance; 
    } 
} 

static void Main() 
{ 
    SavingsAccount saveAccount = new SavingsAccount("Fred Wilson", 123456, 432, 0.02F); 

    Console.WriteLine("Interest this Month = " + saveAccount.monthlyInterest()); 
} 

Se il metodo monthlyInterest esiste già nella classe BankAccount (e viene dichiarato abstract, virtual, o override), allora la definizione SavingsAccount metodo dovrebbe includere override, come spiegato here. Non utilizzare override per ridefinire tali metodi di classe comporterà un avviso del compilatore CS0108, che può essere soppresso utilizzando come indicato in modo confuso here.

0

Se si inserisce un corso in una classe, è un po 'come uno.

public class Class1 
{ 
    public class Class2 
    { 
     public void method1() 
     { 
     //Code goes here. 
     } 
    } 
} 

È possibile quindi fare riferimento alla sottoclasse utilizzando: Class1.Class2.method1().

+3

Questa è una classe nidificata, non una sottoclasse. –

Problemi correlati