interface - index.pdf February 1, 2010 1 ITI 1521....

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: index.pdf February 1, 2010 1 ITI 1521. Introduction ` a linformatique II * Marcel Turcotte Ecole ding enierie et de technologie de linformation Version du 1 er f evrier 2010 R esum e Interface Type abstrait de donn ees * . Ces notes de cours ont et e concues afin d etre visualiser sur un ecran dordinateur. Interface 1 En programmation orient ee objet, linterface dune classe d esigne lensemble des m ethodes et variables publiques de la classe. Par exemple, si la classe Time poss` ede trois m ethodes publiques, getHours() , getMinutes() et getSeconds(), et aucune autre m ethode ou variable publique, alors linterface de la classe (au sens large) est : getHours() , getMinutes() et getSeconds() . Probl` eme 1 Parfois, lutilisation de lh eritage simple nest pas justifi ee ou nest pas suffisante. Les trois exemples qui suivent visent ` a d emontrer ceci. Probl` eme 1 : ecrivez une m ethode (polymorphique) afin de trier les valeurs dun tableau. Il existe une vari et e dalgorithmes de tri, tels que bubble sort , selection sort , quick sort , etc. Quont en commun ces algorithmes ? (attendez avant de r epondre) Afin de rendre lexemple plus concis, nous allons nous restreindre ` a traiter des tableaux de taille 2. Ainsi, lalgorithme de tri sera simple : si la valeur ` a la position 0 est plus grande que celle ` a la position 1 alors il faut les echanger, sinon il ny a rien ` a faire, le tableau est d ej` a ordonn e. Un algorithme plus g en eral sera pr esent e par la suite. Voici une m ethode pour trier un tableau de deux entiers. public static void sort2( int a ) { if ( a[ 0 ] > a[ 1 ] ) { int tmp = a[ 0 ]; a[ 0 ] = a[ 1 ]; a[ 1 ] = tmp; } } Quels sont les changements n ecessaires afin que cette m ethode puisse traiter un tableau de r ef erences vers des objets de la classe Time ? 1) Il faut changer le type du param` etre et 2) remplacer lop erateur de comparaison par un appel ` a la m ethode after( Time other ) . public static void sort2( Time a ) { if ( a[ 0 ].after( a[ 1 ] ) ) { Time tmp = a[ 0 ]; a[ 0 ] = a[ 1 ]; a[ 1 ] = tmp; } } Quels sont les changements n ecessaires afin que cette m ethode puisse traiter un tableau dobjets de type Shape ? index.pdf February 1, 2010 2 1) Il faut changer le type du param` etre et 2) remplacer lappel ` a methode after( Time other ) , par un appel ` a une m ethode permettant de comparer deux formes g eom etriques entre elles. public static void sort2( Shape a ) { if ( a[ 0 ].compareTo( a[ 1 ] ) > 0) { Shape tmp = a[ 0 ]; a[ 0 ] = a[ 1 ]; a[ 1 ] = tmp; } } Quont en commun ces algorithmes ?...
View Full Document

This note was uploaded on 06/07/2010 for the course CSI ITI1520 taught by Professor Marcelturcotte during the Spring '10 term at University of Ottawa.

Page1 / 13

interface - index.pdf February 1, 2010 1 ITI 1521....

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online