Vous êtes sur la page 1sur 17

Langage C#

C# Implémentation des concepts


Orientés Objets

1
Plan

1. Quelques notions objet


2. Mise en place de l’héritage
3. Utilisation du polymorphisme
Quelques notions objet

• Qu’est ce que l’encapsulation ?

• Que sont les propriétés ?


Qu’est ce que l’encapsulation ?

 Permet de grouper les données et les processus dans


une boîte noire
 Cela permet ainsi de changer facilement le
fonctionnement interne sans devoir changer son
interface avec l’utilisateur

 Permet de changer les détails internes


 Cela rend les objets plus faciles d’utilisation
Que sont les propriétés ?

• Les propriétés sont des méthodes qui protège l’accès


aux membres d’une classe
private int poidAnimal;
public int Poid {
get {
return poidAnimal;
}
set {
poidAnimal = value;
}
}
Mise en place de l’héritage

• Qu’est ce que l’héritage ?

• Création d’une classe dérivée

• Appel du constructeur de base depuis une


classe dérivée

• Présentation des classes scellées


Qu’est ce que l’héritage ?

 L’héritage représente Classe de Base


une forme de
hiérarchie entre les Animal
classes
 Les classes dérivées
héritent des propriétés
et des méthodes de la Éléphant Chat
classe de base
 Les classes dérivées Classes Dérivées
deviennent ensuite plus
spécialisées
Création d’une classe dérivée

public class Animal {


protected bool EnTrainDeDormir;
public void Dort() { }
public void Mange() { }
}

public class Lion : Animal {


public void AttaqueProie() { }
}
...
Lion jeuneLion = new Lion();
jeuneLion.AttaqueProie();
jeuneLion.Mange();
Appel du constructeur de base depuis une classe
dérivée

• Le mot clé base est utilisé dans les classes dérivées pour
appeler un constructeur spécifique de la classe de base
public class Animal {public GenderType g;
public Animal(GenderType gender) {
g=gender;
Console.WriteLine("Construction d’un Animal");
}
}
public class Elephant : Animal {
public Elephant(GenderType gender): base(gender) {
//Elephant code
Console.WriteLine("Construction d’un Elephant");
}
}
Présentation des classes scellées

• On ne peut dériver d’une classe scellée

public sealed class MaClasse {


// membres de la classe
}
Utilisation du polymorphisme

• Qu’est ce que le Polymorphisme ?


• Écriture d’une méthode virtuelle
• Appel des membres de la classe de base à partir
d’une classe dérivée
• Les méthodes et les classes abstraites
Qu’est ce que le Polymorphisme ?

• Par héritage, une classe peut être utilisée


comme plusieurs types , elle peut être
utilisée comme son propre type, tout type de
base ou tout type d‘interface si elle
implémente des interfaces.
• C'est ce qu'on appelle le polymorphisme. En
C#, chaque type est polymorphe. Les types
peuvent être utilisés comme leur propre type
ou comme une instance Object, car tout type
traite automatiquement Object comme un
type de base.
Utilisation de mot clé new

• Le remplacement d'un membre d'une classe de base par


un nouveau membre dérivé nécessite le mot clé new.
Écriture d’une méthode virtuelle

• Pour qu'une instance de classe dérivée substitue


complètement un membre de classe d'une classe de base,
la classe de base doit déclarer ce membre comme virtuel.
Écriture d’une méthode virtuelle

• Les méthodes virtuelles et les propriétés vous permettent d'anticiper


les extensions futures. Il donne aux classes dérivées la possibilité de
modifier complètement le comportement apparent de la classe de
base.
Arrêter l’héritage

• Une classe dérivée peut arrêter l'héritage virtuel en déclarant une


substitution comme sealed. Cela nécessite de placer le mot
clé sealed avant le mot clé override dans la déclaration du membre
de classe. Par exemple :
Appel des membres de la classe de base à partir d’une
classe dérivée

• Le mot clé base est utilisé dans les classes dérivées


pour appeler une méthode de la classe de base

public class Chat : Animal {


public override void Mange() {
base.Mange();
Console.WriteLine(“Mange de petits animaux");
}
}

Vous aimerez peut-être aussi