heritage - index.pdf January 25, 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 January 25, 2010 1 ITI 1521. Introduction ` a linformatique II * Marcel Turcotte Ecole ding enierie et de technologie de linformation Version du 25 janvier 2010 R esum e H eritage (partie 2) Polymorphisme * . Ces notes de cours ont et e concues afin d etre visualiser sur un ecran dordinateur. Circle Compl etons limpl ementation de la classe Circle . O`u cr ee-t-on limpl ementation de la m ethode area() ? Elle sera d eclar ee dans la classe Shape ou la classe Circle ? Circle public class Circle extends Shape { private double radius; public double getRadius() { return radius; } public double area() { return Math.PI * radius * radius; } public void scale( double factor ) { radius *= factor; } } Rectangle De m eme, compl etons limpl ementation de la classe Rectangle . O`u cr ee-t-on limpl ementation de la m ethode area() ? Elle sera d eclar ee dans la classe Shape ou la classe Rectangle ? Rectangle public class Rectangle extends Shape { private double width; private double height; // ... public double area() { return width * height; } public void scale(double factor) { width = width * factor; height = height * factor; } } Il ne faudrait pas avoir limpression que lh eritage se limite aux classes quon d efinit soi-m eme. Au contraire, lh eritage est souvent utilis e afin de sp eer les classes de la biblioth` eque de Java. import java.awt.TextField; public class TimeField extends TextField { public Time getTime() { return Time.parseTime( getText() ); } } // java.lang.Object // | // +--java.awt.Component // | // +--java.awt.TextComponent // | // +--java.awt.TextField // | // +--TimeField index.pdf January 25, 2010 2 Polymorphisme Du grecque polus = plusieurs et morph e = formes, signifie donc qui a plusieurs formes. 1. Polymorphisme ad hoc (polymorphisme des traitements, surcharge de nom) : un m eme nom de m ethode est associ e ` a des blocs d enonc es diff erents 2. Polymorphisme universel (polymorphisme de donn ees) : un identificateur (une variable r ef erence) est li e ` a des donn ees de types diff erents par une relation de sous-type Surcharge ( overloading ) Java nous permet la d eclaration de plusieurs m ethodes ayant le m eme nom, mais ayant des signatures diff erentes (la signature dune m ethode est constitu ee du nom de la m ethode ainsi que de la liste des param` etres formels ; elle ne contient cependant pas le type de la valeur de retour). On lutilise souvent pour les constructeurs : Shape() { x = 0.0; y = 0.0; } Shape( int x, int y ) { this.x = x; this.y = y; } On appelle parfois ceci le polymorphisme ad hoc ....
View Full Document

Page1 / 9

heritage - index.pdf January 25, 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