Les interfaces
Les interfaces sont des classes n'ayant que des définitions d'entête. Ainsi, elle est perçu comme une classe abstraite n'ayant pas de méthode d'intégrer dedans. Par conséquence, aucun code ne peut être exécuter en utilisant uniquement un interface, car il s'agit d'une coquille vide. Dans la programmation objet (POO), on utilise souvent le terme d'interface pour indiquer un modèle auquel une ensemble de classe filles doivent correspondre ou tout au moins ressembler. On utilise le mot réservé «interface» pour définir un interface. On aura donc une syntaxe comme ceci :
interface nominterface { definition; } |
Exemples
Voici un exemple d'interface en C# dédiée à la colorimétrie :
- using System;
-
- namespace Colorimetry {
- // Interface pour la colorimétrie
- public interface IColor {
- // Propriétés pour représenter les canaux de couleur
- int Red { get; set; }
- int Green { get; set; }
- int Blue { get; set; }
-
- // Méthode pour convertir la couleur en notation hexadécimale
- string ToHex();
-
- // Méthode pour calculer la luminosité (Brightess)
- double GetBrightness();
-
- // Méthode pour déterminer si la couleur est claire ou foncée
- bool IsLightColor();
- }
- }
Voici un exemple simple d'interface en C# avec une classe l'implémentant :
- using System;
-
- namespace InterfaceExample {
- // Définition de l'interface
- public interface IAnimal {
- void Speak(); // Méthode pour que l'animal parle
- void Eat(string food); // Méthode pour que l'animal mange
- }
-
- // Classe implémentant l'interface
- public class Dog : IAnimal {
- public void Speak() {
- Console.WriteLine("Le chien aboie : Woof!");
- }
-
- public void Eat(string food) {
- Console.WriteLine($"Le chien mange : {food}");
- }
- }
-
- // Une autre classe implémentant l'interface
- public class Cat : IAnimal
- {
- public void Speak() {
- Console.WriteLine("Le chat miaule : Meow!");
- }
-
- public void Eat(string food) {
- Console.WriteLine($"Le chat mange : {food}");
- }
- }
-
- class Program {
- static void Main(string[] args) {
- // Utilisation de l'interface avec le polymorphisme
- IAnimal dog = new Dog();
- dog.Speak();
- dog.Eat("un os");
-
- IAnimal cat = new Cat();
- cat.Speak();
- cat.Eat("du poisson");
- }
- }
- }
Dernière mise à jour : Dimanche, le 17 août 2014