Bonjour à tous,

Je débute dans la programmation python et je bloque sur le problème suivant :

J'ai une classe qui permet à l'utilisateur de créer des grandeurs physique.
Dans cette classe j'ai un attribut : nom

J'ai une classe Longueur qui hérite de la classe Grandeur.

Je souhaite empêcher l'utilisateur de modifier le nom de la classe longueur.

Comment je peux faire ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
class Grandeur:
    """Création des grandeurs de bases du système international
    prend en paramètres :
        -Le nom de la grandeur
        -Le symbole de la grandeur
    """
    def __init__(self, nomGrandeur, symboleGrandeur):
        if len(nomGrandeur) == 0 :
            print("Le nom de la grandeur ne peut être vide !")
        else :
            nomGrandeur = str(nomGrandeur)  
            self.nomGrandeur = nomGrandeur
            print("La grandeur {} a bien été créée" .format(nomGrandeur))
        if len(symboleGrandeur) == 0 :
            print("Le symbole de la grandeur ne peut être vide !")
        else :
            symboleGrandeur = str(symboleGrandeur)
            self.symboleGrandeur = symboleGrandeur              
 
class Longueur(Grandeur):
    """Création des longueurs suivant le SI (unité de base m)
        prend en paramètre :
            - l'unité
    """
    def __init__(self, nomGrandeur = "Longueur", symboleGrandeur = "l"):
        super().__init__(nomGrandeur, symboleGrandeur)
 
    def _getnomgrandeur(self):
        return self._nomGrandeur
 
    def _setnomgrandeur(self, attribut, valeur):
        if attribut in self.__dict__:
            Grandeur.__setattr__(self, attribut, valeur)
        else :
            raise Exception("Modification impossible !")
 
    nomGrandeur = property( _getnomgrandeur, _setnomgrandeur)