2010-11-22 58 views

Respuesta

18

¿Lo dice en serio?

public class Foo 
{} 

public class Bar : Foo 
{} 

En este caso, Bar es la subclase.

22

Aquí hay un ejemplo de cómo escribir un ParentClass y luego crear un ChildClass como una subclase.

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(); 
    } 
} 

Salida:

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

En lugar de volver a escribir otro ejemplo de la herencia .Net he copiado un ejemplo digno de la C Sharp Station website.

4

¿Te refieres a herencia de clase?

public class SubClass: MasterClass 
{ 
} 
1

This page lo explica así:

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()); 
} 

Si el método monthlyInterest ya existe en la clase BankAccount (y se declara abstract, virtual o override) entonces la definición SavingsAccount método debe incluir override, como explicó here. Si no se usa override para redefinir dichos métodos de clase, se generará una advertencia del compilador CS0108, que se puede suprimir usando new como confusamente declarado here.

0

Si coloca una clase en una clase, es como una.

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

continuación, puede hacer referencia a la subclase usando: Class1.Class2.method1().

+3

Esta es una clase anidada, no una subclase. –

Cuestiones relacionadas