coffreobsidian/webdev/Rappel de certaines notions WLangage et Classes.md
2025-03-24 17:36:01 +01:00

2.2 KiB
Raw Permalink Blame History


Merci pour ce JSON très bien structuré, il va grandement faciliter l'analyse. Voici ce que nous allons faire étape par étape, comme demandé :


🧠 1. Rappel des notions « Récupération / Affectation » en WLangage

Terme simplifié Nom WLangage réel Description
Récupération RENVOYER(...) Renvoie une valeur depuis une fonction / méthode, équivalent au return Python.
Affectation variable = valeur Affectation d'une valeur à une variable, comme en Python (var = value).
Accès attribut :attribut Accès à lattribut de lobjet courant (self.attribut en Python).
Paramètre LOCAL nom est un type Déclaration de paramètres, équivalent à def f(nom: type) en Python.

Exemples :

PROCÉDURE maFonction()
sTexte est une chaîne = "Bonjour"
RENVOYER(sTexte)
def maFonction():
    sTexte = "Bonjour"
    return sTexte

🧱 2. Rappel complet des concepts de classes en WLangage

Le système objet de WLangage est inspiré d'autres langages objets, mais avec quelques spécificités :

Élément En WLangage Équivalent Python Remarques
Déclaration de classe CLASSE MaClasse class MaClasse: Identique
Héritage CLASSE MaClasse HÉRITE MaBase class MaClasse(MaBase): Identique
Attribut privé x est un entier (PRIVÉ) self._x: int ou __x Respect de l'encapsulation
Attribut protégé x (PROTÉGÉ) self._x Convention
Attribut public x ou x (PUBLIC) self.x Accès libre
Constructeur PROCÉDURE Constructeur() def __init__(self): Spécifique
Destructeur PROCÉDURE Destructeur() def __del__(self): Rarement utile en Python
Méthode virtuelle PROCÉDURE VIRTUELLE ... Méthode définie mais appelée dans une classe dérivée
Méthode abstraite PROCÉDURE ABSTRAITE ... @abstractmethod (via abc en Python) Pas dimplémentation ici

Exemple WLangage :

CLASSE MaClasse
    x est un entier (PROTÉGÉ)

    PROCÉDURE Constructeur()
    x = 5

    PROCÉDURE getX() : entier
    RENVOYER(x)
FIN

Équivalent Python :

class MaClasse:
    def __init__(self):
        self._x = 5

    def get_x(self) -> int:
        return self._x