rolex replica rolex replica fake rolex fake watches replica watches fake rolex replica rolex fake rolex fake watches replica watches

Classes et objets


  1. La classe Point sans constructeur
  2. La classe Point avec constructeur
  3. La classe CompteBancaire
  4. Classe Voiture
  5. La classe Satellite
  6. Objets composés d’objets: Point, Segment, Rectangle
  7. Les méthodes spéciales

Exercice 1: La classe Point sans constructeur

La classe Point sans constructeur: Créer un programme Python qui permet de:

  1. Définir une classe Point caractérisée par son abscisse et son ordonné sans constructeur.
  2. Définir à l’aide des getters et les setters les méthodes d’accès aux attributs de la classe.
  3. Définir la méthode Norme ( ) qui retourne la distance entre l’origine du repère et le point en cours.
  4. Écrire un programme permettant d’instancier un objet P et de tester la classe.

Exemple d’exécution:

>>>Les cordonnées du point P à la création sont : ( 0.00 , 0.00 )

>>>Après changement, les cordonnées du point P sont : ( 4.50 , 2.00 )

>>>La distance entre le point P( 4.50 , 2.00 ) et l’origine du repère est : 4.92


Exercice 2: La classe Point avec constructeur

La classe Point avec constructeur: Créer un programme Python qui permet de:

  1. Définir une classe Point caractérisée par son abscisse et son ordonné avec constructeur avec coordonnées (1, 1) par défaut.
  2. Définir à l’aide des getters et les setters les méthodes d’accès aux attributs de la classe.
  3. Définir la méthode Distance ( P1 ) qui retourne la distance entre le point P1 et le point en cours.
  4. Écrire un programme permettant d’instancier deux objets  P1 et P2 et de tester la classe.

Exemple d’exécution:

>>> La distance entre le point P1( 1.00 , 1.00 ) et le point P2( 3.50 , -2.00 ) est: 3.91


Exercice 3:La classe CompteBancaire

La classe CompteBancaire: Écrire un programme python qui permet de définir une classe CompteBancaire(), qui permette d’instancier des objets tels que compte1, compte2, etc. Le constructeur de cette classe initialisera deux attributs d’instance nom et solde, avec les valeurs par défaut ’Dupont’ et 1000.

Trois autres méthodes seront définies :

  • depot(somme) permettra d’ajouter une certaine somme au solde ;
  • retrait(somme) permettra de retirer une certaine somme du solde ;
  • affiche() permettra d’afficher le nom du titulaire et le solde de son compte.

Exemples d’exécution:

>>> compte1 = CompteBancaire(‘Duchmol’, 800)
>>> compte1.depot(350)
>>> compte1.retrait(200)
>>> compte1.affiche()
Le solde du compte bancaire de Duchmol est de 950 euros.
>>> compte2 = CompteBancaire()
>>> compte2.depot(25)
>>> compte2.affiche()
Le solde du compte bancaire de Dupont est de 1025 euros.


Exercice 4: Classe Voiture

Classe Voiture: Écrire un programme Python qui permet de définir une classe Voiture qui permette d’instancier des objets reproduisant le comportement de voitures automobiles. Le constructeur de cette classe initialisera les
attributs d’instance suivants, avec les valeurs par défaut indiquées :

marque = ‘Ford’, couleur = ‘rouge’, pilote = ‘personne’, vitesse = 0.

Lorsque l’on instanciera un nouvel objet Voiture, on pourra choisir sa marque et sa couleur, mais pas sa vitesse, ni le nom de son conducteur.

Les méthodes suivantes seront définies :

  • choix_conducteur(nom) permettra de désigner (ou changer) le nom du conducteur.
  • accelerer(taux, duree) permettra de faire varier la vitesse de la voiture. La variation de vitesse obtenue sera égale au produit : taux × duree. Par exemple, si la voiture accélère au taux de 1,3 m/s pendant 20 secondes, son gain de vitesse doit être égal à 26 m/s. Des taux négatifs seront acceptés (ce qui permettra de décélérer). La variation de vitesse ne sera pas autorisée si le conducteur est ’personne’.
  • affiche_tout() permettra de faire apparaître les propriétés présentes de la voiture, c’est-à-dire sa marque, sa couleur, le nom de son conducteur, sa vitesse.

Exemples d’exécution:

>>> a1 = Voiture(‘Peugeot’, ‘bleue’)
>>> a2 = Voiture(couleur = ‘verte’)
>>> a3 = Voiture(‘Mercedes’)
>>> a1.choix_conducteur(‘Roméo’)
>>> a2.choix_conducteur(‘Juliette’)
>>> a2.accelerer(1.8, 12)
>>> a3.accelerer(1.9, 11)
Cette voiture n’a pas de conducteur !
>>> a2.affiche_tout()
Ford verte pilotée par Juliette, vitesse = 21.6 m/s.
>>> a3.affiche_tout()
Mercedes rouge pilotée par personne, vitesse = 0 m/s.


Exercice 5: La classe Satellite

La classe Satellite: Écrire un programme Python qui permet de définir une classe Satellite qui permette d’instancier des objets simulant des satellites artificiels lancés dans l’espace, autour de la terre. Le constructeur de cette classe initialisera les attributs d’instance suivants, avec les valeurs par défaut indiquées : masse = 100, vitesse = 0.

Lorsque l’on instanciera un nouvel objet Satellite, on pourra choisir son nom, sa masse et sa vitesse.

Les méthodes suivantes seront définies :

– impulsion(force, duree) permettra de faire varier la vitesse du satellite. P

Pour savoir comment, rappelez-vous votre cours de physique : la variation de vitesse Δv subie par un objet de masse m soumis à l’action d’une force F pendant un temps t vaut .

Par exemple : un satellite de 300 kg qui subit une force de 600 Newtons pendant 10 secondes voit sa vitesse augmenter (ou diminuer) de 20 m/s.

– affiche_vitesse() affichera le nom du satellite et sa vitesse courante.

– energie() renverra au programme appelant la valeur de l’énergie cinétique du satellite.

Rappel : l’énergie cinétique se calcule à l’aide de la formule Ec=

Exemple d’exécution:

>>> s1 = Satellite(‘Zoé’, masse =250, vitesse =10)
>>> s1.impulsion(500, 15)
>>> s1.affiche_vitesse()
vitesse du satellite Zoé = 40 m/s.
>>> print (s1.energie)
200000
>>> s1.impulsion(500, 15)
>>> s1.affiche_vitesse()
vitesse du satellite Zoé = 70 m/s.
>>> print (s1.energie)
612500
180 Classes, méthodes, héritage
Espaces de noms des classes et instances


Exercice 6: Objets composés d’objets: Point, Segment, Rectangle

Objets composés d’objets: Point, Segment, Rectangle: Ecrire un programme Python qui permet de:

  1. Définir une classe Point caractérisée par son abscisse et son ordonné.
  2. Définir les méthodes de la classe Point:
    • Le constructeur pour initier l’objet Point
    • getAbscisse() qui retourne l’abscisse du point en cours
    •  getOrdonne() qui retourne l’ordonné du point en cours
    •  setAbscisse( x) qui modifie l’abscisse du point en cours par x
    •  setOrdonne( y) qui modifie l’ordonné du point en cours par y
    •  Distance(P) qui retourne la distance entre le point en cours et le point P
    •  is_identique(P) qui retourne True si le point P et le point en cours sont identiques et False sinon
    • affiche() qui affiche les coordonnées du point en cours
  3. Définir une classe Segment caractérisée par deux points , le point d’origine et le point d’extrémité.
  4. Définir les méthodes de la classe Segment:
    • Le constructeur pour initier l’objet Segment
    • getExtremite() qui retourne l’extrémité du segment en cours
    • getOrigine() qui retourne l’origine du segment en cours
    • setExtremite(P ) qui modifie l’extrémité du segment en cours par le point P
    • setOrigine( P) qui modifie l’origine du segment en cours par le point P
    • longueur() qui retourne la longueur du segment en cours
    • getMilieu() qui retourne le point milieu du segment en cours
    • affiche() qui affiche l’origine et l’extrémité du segment en cours
  5. Définir une classe Rectangle caractérisée par deux diagonales D1 et D2
  6. Définir les méthodes de la classe Rectangle:
    • Le constructeur pour initier l’objet Rectangle
    • getDiagonale1() qui retourne la première diagonale D1 du quadrilatère en cours
    • getDiagonale2() qui retourne la deuxième diagonale D1 du quadrilatère en cours
    • setDiagonale1(D) qui permet de modifier la première diagonale D1 du quadrilatère en cours par la diagonale D passé en paramètre
    • setDiagonale2(D) qui permet de modifier la deuxième diagonale D2 du quadrilatère en cours par la diagonale D passé en paramètre
    • is_parallelogramme() qui retourne True si le quadrilatère en cours est un parallélogramme et False sinon.
    • is_rectangle() qui retourne True si le quadrilatère en cours est un rectangle et False sinon.
    • affiche() qui affiche les information relatives au quadrilatère en cours.
  7. Tester les classes crées avec le quadrilatère ci-dessous:

Exemple d’exécution: 

le quadrilatère Q est défini par les deux diagonales D1 et D2:

La diagonale D1 est caractérisé par :
Origine : ( 2.00 , 2.00 )
Extrémité : ( 4.00 , -1.00 )

La diagonale D2 est caractérisé par :
Origine : ( 1.00 , 1.00 )
Extrémité : ( 5.00 , 0.00 )

Les coordonnées du milieu de D1 : ( 3.00 , 0.50 )
Les coordonnées du milieu de D2 : ( 3.00 , 0.50 )

La longueur de la diagonale D1 : 3.61
La longueur de la diagonale D2 : 4.12

Le quadrilatère Q est un parallélogramme

Le quadrilatère Q n’est pas un rectangle


Exercice 7: Les méthodes spéciales

Les méthodes spéciales sont des méthodes d’instance que Python reconnaît et sait utiliser, dans certains contextes. Elles peuvent servir à indiquer à Python ce qu’il doit faire quand il se retrouve devant une expression comme objet1+objet2,

Pour comprendre le fonctionnement des méthodes spéciales on va créer une classe appelée Complexe qui représente un nombre complexe qui est caractérisé par sa partie Réelle et sa partie imaginaire.

Dans cette classe on définit les méthodes suivantes:

__add__: qui permet d’additionner deux nombres complexes en utilisant le symbole ‘+’

__sub__: qui permet de soustraire deux nombres complexes en utilisant le symbole ‘-‘

__mul__: qui permet de multiplier deux nombres complexes en utilisant le symbole ‘*’

__str__: pour afficher un nombre complexe en utilisant la fonction str

__repr__: pour afficher un nombre complexe par son nom

__getattr__: pour afficher une alerte au cas d’un attribut non trouvé.

Exemple d’exécution:

>>>C1=Complexe(2,3)
>>>C2=Complexe(1,-4)
>>>C3=C1+C2
>>>C3
3 – i1
>>>str(C3)
‘3 – i’
>>>C1-C2
1 + i7
>>>C1*C2
14 – i4
>>>C1.x
x : Attribut non défini !
>>>C4=Complexe(-5,2)
>>>C5=C1+C2-C3*C4
>>>str(C5)
’16 – i’


Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Résoudre : *
2 × 19 =