Cours en Devlopement Informatique

  • programation orienté objet C#

La méthode Equals En C#



Cette méthode doit répondre VRAI si deux instances sont rigoureusement égales. Deux conditions sont à vérifier :

  • Il faut que les deux objets soient de la même classe.
  • Il faut qu'une règle d'égalité soit appliquée : par exemple deux objets client sont égaux si leurs numéros sont égaux.

 

class Rectangle {
private int largeur ; private int longueur ; public Rectangle(){ }
public Rectangle(int largeur , int longueur){ this.largeur=largeur ; this.longueur=longueur ;
}
public Rectangle(Rectangle r){ this.largeur= r.largeur ; this.longueur= r.longueur ;
}
//...
}
public static void Main(string[]args){

Rectangle r1=new Rectangle(3,4) ;
Rectangle r2=new Rectangle(r1) ;
Bool a= (r1==r2); /*ça va générer erreur parce qu’on peut pas
comparer deux objets en utilisant l’opérateur « == » */
}

Pour remédier à ce problème on doit surcharger la méthode Equals dans la classe Rectangle, une fois surchargé la méthode Equal sera implicitement (par défaut), à chaque fois on veut comparer deux objets de type Rectangle en utilise l’opérateur « == »

public class Rectangle { private int largeur ; private int longueur ;
//Le constructeur par defaut
...
//le constructeur avec paramitres
...
//le constructeur de recopie
...
//la method Equals

public Boolean Equals (Rectangle rec){
return ((this.largeur == rec.largeur) && (this.longueur ==
rec.longueur));
}
//...
}

public static void Main(string[]args){ Rectangle r1=new Rectangle(3,4) ; Rectangle r2=new Rectangle(r1) ; Rectangle r3=new Rectangle( ) ;
bool a= (r1==r2); // c’est OK, a vaut Vrai
bool b= (r1==r3); // c’est OK, a vaut Faux
}

Les tableaux contiennent des éléments, chacun d’eux étant repéré par son indice. En C#, il existe une manière très simple de créer des tableaux « classiques », sans faire référence aux classes Collections.

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.