Comment créer une sous-classe en C # pour ASP.NET à l'aide de Visual Studio 2010?
Est-ce que tu veut dire ça?
public class Foo
{}
public class Bar : Foo
{}
Dans ce cas, Bar est la sous-classe.
Voici un exemple d'écriture d'une classe ParentClass, puis de la création d'une classe ChildClass 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:
Constructeur parent . Constructeur enfant . Je suis une classe de parents .
Plutôt que de réécrire un autre exemple d'héritage .Net, j'ai copié un exemple correct tiré du site Web C Sharp Station .
Voulez-vous dire héritage de classe?
public class SubClass: MasterClass
{
}
Si vous mettez une classe dans une classe, c'est un peu comme une.
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()
.
Cette page l'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é ici . 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é de manière confuse ici .