{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

poly - Object ITI 1521 Introduction ` linformatique II a...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
index.pdf February 10, 2010 1 ITI 1521. Introduction ` a l’informatique II * Marcel Turcotte ´ Ecole d’ing´ enierie et de technologie de l’information Version du 10 f´ evrier 2010 esum´ e – Exemples de polymorphisme : – Object : equals, toString ; – Structure de donn´ ees “g´ en´ erique” : Pair. * . Ces notes de cours ont ´ et´ e con¸cues afin d’ˆ etre visualiser sur un ´ ecran d’ordinateur. Object Qu’en pensez-vous ? Object o; Une r´ ef´ erence de type Object peut d´ esigner tout objet dont la classe est une sous-classe de la classe Object , donc tout objet. Qui a-t-il dans la classe Object ? Object #clone(): Object +equals(Object:obj): boolean +getClass(): Class +toString(): String Number +byteValue(): byte +doubleValue(): double +floatValue(): float +intValue(): int +longValue(): long +shortValue() Integer +MAX_VALUE: int +MIN_VALUE: int +byteValue(): byte +doubleValue(): double +floatValue(): float +intValue(): int +longValue(): long +shortValue() +compareTo(i:integer): int +parseInt(s:String): int +toString(): String Double +MAX_VALUE: double +MIN_VALUE: double +byteValue(): byte +doubleValue(): double +floatValue(): float +intValue(): int +longValue(): long +shortValue() +compareTo(d:Double): int +parseDouble(s:String): double +toString(): String Object/equals La classe Object efinit une m´ ethode equals . Ainsi, pour toutes variables r´ ef´ erences a et b , on peut toujours ´ ecrire, if ( a.equals( b ) ) { ... } C’est vrai pour les classes pr´ ed´ efinies, telles que String et Integer , mais aussi pour toutes les classes que l’on d´ efinit soit mˆ eme. Toutes les classes sont des sous-classes de la classe Object ! Comparaison Soient deux r´ ef´ erences, a et b , et leurs objets d´ esign´ es. – La comparaison par identit´ e erifie seulement que a et b esignent ou non le eme objet (i.e. a == b ) ; – Souvent, on souhaite d´ eterminer si le contenu des objets d´ esign´ es par a et b est le mˆ eme, on utilise alors la m´ ethode equals ; comparaison logique . equals Peut-on vraiment d´ efinir une m´ ethode equals qui fonctionnerait pour tout type d’objet ? La m´ ethode equals de la classe Object est d´ efinie comme suit : public boolean equals( Object obj ) { return ( this == obj ); }
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
index.pdf February 10, 2010 2 Account public class Account { private int id; private String name; public Account( int id, String name ) { this.id = id; this.name = name; } } Test class Test { public static void main( String[] args ) { Account a, b; a = new Account( 1, new String( "Marcel" ) ); b = new Account( 1, new String( "Marcel" ) ); if ( a.equals( b ) ) { System.out.println( "a and b are equals" ); } else { System.out.println( "a and b are not equals" ); } } } Quel message sera affich´ e ? “a and b are not equals” Solution : red´ efinir la m´ ethode equals dans la classe Account . Recette de la m´ ethode equals (1/4) Utiliser == afin de s’assurer que le param` etre o n’est pas null .
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}