2010-11-22 16 views

Répondre

18

Voulez-vous dire cela?

public class Foo 
{} 

public class Bar : Foo 
{} 

Dans ce cas, Bar est la sous-classe.

22

Voici un exemple d'écriture d'une classe parent, puis de création d'une classe enfant en tant que sous-classe.

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

Sortie:

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

Plutôt que de réécrire un autre exemple de l'héritage .Net j'ai copié un exemple décent de la C Sharp Station website.

4

Voulez-vous dire l'héritage de classe?

public class SubClass: MasterClass 
{ 
} 
1

This page explique bien:

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 la méthode monthlyInterest existe déjà dans la classe BankAccount (et est déclarée abstract, virtual ou override), la définition de la méthode SavingsAccount devrait inclure override, comme expliqué here. Ne pas utiliser override pour redéfinir de telles méthodes de classe entraînera un avertissement du compilateur CS0108, qui peut être supprimé en utilisant new comme indiqué here de manière confuse.

0

Si vous mettez une classe dans une classe, c'est un peu comme une classe.

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

Vous pouvez ensuite référencer la sous-classe en utilisant: Class1.Class2.method1().

+3

Il s'agit d'une classe imbriquée et non d'une sous-classe. –

Questions connexes