Annonce

Réduire
Aucune annonce.

Les classes - COURS N°8

Réduire
Ceci est une discussion importante.
X
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Les classes - COURS N°8

    Bonjour,

    À savoir : Ce tutoriel risque d'être modifié, changé de place, voir même supprimé selon les décisions de l'équipe hackademics. Sa présence, est dû aux attentes des membres du forum participant au cours Python.

    Tout conseils, modifications à votre demande, sera envoyé par MP.

    CLASSE ET INSTANCE

    Pour ceux qui sont novices en matière de programmation objet (POO), il est nécessaire de donner des explications sur certains termes.

    Imaginons un objet, comme une chaise par exemple... Pour construire cette chaise on doit créer un dessin ou patron afin d'y relever les cotes, connaitre la profondeur d'assise, la pente du dossier, ...

    Ce dessin ou patron (ou moule parfois), informatiquement parlant, on l'appellera une classe.
    L'objet créé, informatiquement parlant, on l'appellera une instance.

    Une classe est créé qu'une seule fois
    Une instance est créé autant de fois qu'on a besoin de créer d'objets

    ATTRIBUTS ET MÉTHODES

    Les attributs sont les définitions de l'objet, c'est à dire la façon dont on va définir un objet.

    Pour une chaise, on peut avoir l'attribut couleur, pente du dossier, hauteur des pieds, ...

    Les méthodes sont les actions définies sur l'objet, et sont souvent déclarer sous forme de verbe, exemple modifier, changer, ...

    CRÉER UNE CLASSE

    Une classe est construite avec le mot clé class, suivi du nom de la classe.

    Code:
    class Chaise:
        # suite...
    La suite d'une classe étant généralement composée d'attributs et méthodes.
    Vous remarquerez la majuscule à Chaise. (ce n'est pas une erreur)

    CRÉER UNE INSTANCE

    Le processus de création d'une instance se nomme instanciation, on l'effectue de la façon suivante.

    Code:
    regence = Chaise(..., ...)
    Les ... représentent les paramètres d'initialisation afin de créer un type de chaise.

    Pour continuer notre cours un plan s'impose
    1. Création d'une classe
    2. Création d'instances
    3. Accès aux attributs d'instance
    4. Invocation d'une méthode de classe



    I) CRÉATION D'UNE CLASSE

    Nous avons dis précédemment qu'une classe se construisait de cette façon

    Code:
    class Chaise:
        # suite de la classe
    Nous allons ici définir ce qui pourrait être la suite de la classe

    Tout d'abord le code et et les explications par la suite

    Code:
    class Chaise:
        def __init__(self, nom, couleur, poids):
            self.nom = nom
            self.couleur = couleur
            self.poids = poids
        def modifier(self, couleur):
            self.couleur = couleur
    __init__(self, ...) est la définition du constructeur, grâce à ses paramètres, on construira notre objet.
    Pour construire notre chaise, on a besoin de connaitre son nom, la couleur souhaitée et son poids.
    Ce constructeur est appelé à chaque nouvel objet créé.

    self est l'objet instance, c'est automatiquement transmis par l'interpréteur quand la méthode est invoquée via une instance.Évidemment au lieu de self, on aurait pu mettre autre chose, comme this par exemple, mais la convention python souhaite cela pour rendre un code lisible par tous pythonniens.

    self.nom = nom, veut dire textuellement que l'attribut nom de l'objet de la classe Chaise vaudra la valeur du paramètre nom donné dans le constructeur.

    Désolé, faudra vous habituez aux termes, c'est dur au début, mais ensuite à force de coder ça ira de mieux en mieux.

    modifier est la méthode ou l'action sur notre objet de type Chaise. Ici modifier, va modifier la couleur de l'objet de la classe Chaise.

    II) CRÉATION D'INSTANCES

    Hmmm... Je souhaiterais créer une chaise régence, dont la couleur est le brun et son poids est de 6 kg. Ok on y va!

    Code:
    regence = Chaise('régence', 'brun', 6)
    regence est l'objet de type Chaise, se nommant régence, de couleur brun et dont le poids est 6 kg

    III) ACCÈS AUX ATTRIBUTS D'INSTANCE

    Comment accéder aux attributs afin de vérifier que ma chaise a bien été créée ?

    Vérification à l'interpréteur:

    Code:
    >>> class Chaise:
    ...     def __init__(self, nom, couleur, poids):
    ...         self.nom = nom
    ...         self.couleur = couleur
    ...         self.poids = poids
    ...     def modifier(self, couleur):
    ...         self.couleur = couleur
    ... 
    >>> regence = Chaise('régence', 'brun', 6)
    >>> 
    >>> regence.nom # Accès à l'attribut nom
    'régence'
    >>> regence.couleur # Accès à l'attribut couleur
    'brun'
    >>> regence.poids # Accès à l'attribut poids
    6
    >>>
    On voit bien que l'attribut couleur de mon objet regence vaut brun.

    IV) INVOCATION DE LA MÉTHODE

    et maintenant je souhaiterait modifier la couleur de cette chaise en blanc.

    Code:
    >>> regence.modifier('blanc')
    Ouais, mais qu'est-ce qui me prouve que la modification s'est bien passée?

    Code:
    >>> regence.couleur
    'blanc'
    J'ai essayé de faire le plus clair et concis possible, rentrer dans des détails voudrait dire rentrer dans un autre cours qui a lui tout seul pourrait prendre plus de 800 pages d'un bouquin, je parle de POO (programmation orienté objet).

    Bien évidemment on y arrivera dans nos cours, mais je vous laisse déjà digérer en douceur, termes, syntaxes et interprétation personnelle d'instance et classe.

    EXERCICE


    1) Créer un programme permettant la conversion de température entre degré, Fahrenheit, Kelvin et Rankine.

    Pour cela on vous impose:

    Le nom de la classe : Temperature

    Il se pose des problèmes de conception, déjà quand je souhaite instancier ma classe, en donnant un nombre, comment vais-je savoir si j'ai mis une température en Degré, Fahrenheit ou Rankine ?

    Bonne continuation...

    Bonne journée,
    Dernière modification par fred, 19 août 2013, 16h42.
Chargement...
X