Photographie/Fabricants/Kodak/Kodak DC215

Photographie/Fabricants/Kodak/Kodak DC290 Zoom

Programmation C sharp/Classe abstraite
Une classe abstraite possède au moins une méthode abstraite ou une propriété abstraite, c'est à dire ne comportant aucune implémentation (pas de code). Une telle classe ne peut être instanciée avec l'opérateur codice_1. Il faut utiliser une sous-classe implémentant les méthodes abstraites de la classe de base.
Syntaxe.
Le mot clé codice_2 doit précéder la classe abstraite et toutes les méthodes abstraites.
Exemple :
// Classe abstraite gérant un ensemble d'objets
public abstract class Ensemble
 public bool AjouterSiNeContientPas(object o)
 if ( ! Contient(o) )
 Ajouter(o);
 public bool RetirerSiContient(object o)
 if ( Contient(o) )
 Retirer(o);
 // méthodes abstraites (sans implémentation) :
 public abstract bool Contient(object o);
 protected abstract void Ajouter(object o);
 protected abstract void Retirer(object o);
Implémenter les méthodes abstraites.
La classe implémentant les méthodes abstraites de la classe de base doit utiliser le mot clé codice_3, car les méthodes abstraites sont implicitement virtuelles également :
public class EnsembleTableau : Ensemble
 private object[] elements = new object[0];
 public override bool Contient(object o)
 // recherche de l'objet
 for(int i = 0 ; i < elements.Length ; i++)
 if (elements[i] == o) return true; // objet trouvé
 // fin de la boucle sans avoir trouvé l'objet
 return false;
 protected override void Ajouter(object o)
 // ...
 protected override void Retirer(object o)
 // ...
La classe peut ne pas implémenter toutes les méthodes abstraites de la classe de base. Dans ce cas elle est également abstraite, et laisse le soin à ses sous-classes d'implémenter les méthodes abstraites restantes.
Propriétés abstraites.
Il est également possible de déclarer des propriétés abstraites.
Exemple :
public abstract class Ensemble
public class EnsembleTableau : Ensemble
 private string nom_ensemble = null;
 private object[] elements = new object[0];
 public override int nombre
 public override string nom
Mode d'accès.
Les méthodes et propriétés abstraites peuvent être publiques ou protégées.
Puisque les méthodes et propriétés abstraites doivent être implémentées par les sous-classes, il n'est pas possible de les déclarer avec le mot clé codice_4, ou d'utiliser le mot clé codice_5 avec la classe.
De plus les méthodes et propriétés abstraites ne peuvent être statiques.

Photographie/Fabricants/Sony/Sony DSC-F505

Photographie/Fabricants/Kodak/Kodak EasyShare C703