22.02.2014 Views

Types de données en Python - LMPT

Types de données en Python - LMPT

Types de données en Python - LMPT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

class Time(object):<br />

# classe d’objets temporels<br />

<strong>de</strong>f __init__(self): # métho<strong>de</strong> constructeur<br />

self.heure = 12<br />

self.minute = 0<br />

self.secon<strong>de</strong> = 0<br />

<strong>de</strong>f affiche_heure(t): # une métho<strong>de</strong><br />

print("{}:{}:{}".format(t.heure, t.minute, t.secon<strong>de</strong>))<br />

Utilisation : objet.métho<strong>de</strong>()<br />

temp_start = Time()<br />

temp_start.affiche_heure()<br />

Instanciation avec paramètres :<br />

<strong>de</strong>f __init__(self, hh = 12, mm = 0, ss = 0):<br />

self.heure = hh<br />

self.minute = mm<br />

self.secon<strong>de</strong> = ss<br />

pause = Time(hh = 10)<br />

pause.affiche_heure()<br />

# métho<strong>de</strong> constructeur<br />

Exercices :<br />

1. Définir une classe CompteBancaire() qui permet d’instancier <strong>de</strong>s objets tels que compte1,<br />

compte2, ... Le constructeur initialisera <strong>de</strong>ux attributs d’instance nom et sol<strong>de</strong> avec les valeurs<br />

par défaut ’duschmol’ et 1000. Trois métho<strong>de</strong>s doiv<strong>en</strong>t être aussi définies : <strong>de</strong>pot(somme)<br />

qui permet d’ajouter <strong>de</strong> l’arg<strong>en</strong>t au compte ; retrait(somme) qui permet <strong>de</strong> retirer <strong>de</strong> l’arg<strong>en</strong>t<br />

(pas <strong>de</strong> découvert autorisé !) ; et affiche() qui r<strong>en</strong>voit le sol<strong>de</strong> du compte.<br />

2. Définir une classe Satellite() qui permet d’instancier <strong>de</strong>s objets représ<strong>en</strong>tant <strong>de</strong>s satellites<br />

lancés autour <strong>de</strong> la terre. Le constructeur initialise <strong>de</strong>ux attributs d’instance par défaut<br />

comme suit : masse=100, vitesse=0. Lorsqu’on instancie un satellite, on peut choisir son<br />

nom, sa masse et sa vitesse. Définir <strong>en</strong>suite une métho<strong>de</strong> impulsion(force, duree) qui permet<br />

<strong>de</strong> faire varier la vitesse du satellite (variation <strong>de</strong> vitesse = force * temps / masse) ; une métho<strong>de</strong><br />

affiche_vitesse() qui affiche le nom du satellite et sa vitesse courante ; une métho<strong>de</strong><br />

<strong>en</strong>ergie() qui r<strong>en</strong>voit l’énergie cinétique courante du satellite.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!