Sobes.tech
Junior

Parlez des paradigmes et principes de la programmation orientée objet.

sobes.tech IA

Réponse de l'IA

Paradigmes de la POO:

  1. Encapsulation: Cacher les données et méthodes à l'intérieur d'une classe, en fournissant un accès via une interface.
  2. Héritage: Création de nouvelles classes (sous-classes) basées sur des classes existantes (super-classes), en héritant leurs propriétés et méthodes.
  3. Polymorphisme: Capacité à utiliser des objets de différentes classes via une interface commune, en effectuant un comportement spécifique à chaque classe.

Principes de la POO (SOLID):

  1. Principe de responsabilité unique (SRP): Chaque classe doit avoir une responsabilité unique.
  2. Principe d'ouverture/fermeture (OCP): Les classes doivent être ouvertes à l'extension, mais fermées à la modification.
  3. Principe de substitution de Liskov (LSP): Les objets d'une classe de base peuvent être remplacés par des objets d'une classe dérivée sans altérer la correction du programme.
  4. Principe de ségrégation des interfaces (ISP): Les clients ne doivent pas dépendre d'interfaces qu'ils n'utilisent pas.
  5. Principe d'inversion des dépendances (DIP): Les modules de haut niveau ne doivent pas dépendre des modules de bas niveau. Les deux doivent dépendre d'abstractions. Les abstractions ne doivent pas dépendre des détails. Les détails doivent dépendre des abstractions.

Exemple d'encapsulation et d'héritage:

// Classe de base
public class Animal
{
    public string Name { get; set; }

    public Animal(string name)
    {
        Name = name;
    }

    public virtual void MakeSound()
    {
        Console.WriteLine("Son générique");
    }
}

// Classe dérivée
public class Dog : Animal
{
    public Dog(string name) : base(name)
    {
    }

    // Redéfinition de la méthode de la classe de base
    public override void MakeSound()
    {
        Console.WriteLine("Woof!");
    }
}

Exemple de polymorphisme:

Animal myAnimal = new Dog("Buddy");
myAnimal.MakeSound(); // Affichera "Woof!"