IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ca me semble pas logique [POO]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut Ca me semble pas logique
    Bonjour,

    bouquin de Bersini sur la POO (p. 109) ; l'exemple (pseudo-code) pour l'encapsulation (ici des attributs) ne me semble pas logique. Quel est votre avis ?

    Il y a 2 classes : Feu-de-signalisation et Voiture. Un des attributs de Feu-de-signalisation est couleur et un autre est voitureDevant (de la classe Voiture).

    La classe Feu-de-signalisation a la méthode :
    Code POO : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void change() {
       couleur = couleur + 1;
       if (couleur == 4) couleur = 1;
        if (couleur == 1) voitureDevant.changeVitesse(50);
    }
    Donc si le feu passe au vert, la classe Feu-de-signalisation passe à 50 l'attribut Vitesse de l'objet voitureDevant. Ca serait pas plus logique que ce soit cet objet qui possède une méthode qui regarderait la valeur de la couleur du feu et passerait son propre attribut Vitesse à 50 quand le feu passe au vert ?

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu n'as pas bien compris : ce n'est pas le feu de signalisation qui change la vitesse de la voiture quand il passe au vert, le feu ne fait qu'envoyer un signal à la voiture pour lui indiquer qu'elle peut redémarrer.
    En gros, c'est comme si le feu de signalisation gérait une file d'attente de voitures. Chaque voiture arrive au feu et se déclare, ensuite le feu en fonction de son état prévient les voitures dans sa file d'attente.

    L'autre cas est aussi possible : la voiture arrive au niveau du feu de signalisation, au lieu que cela soit le feu qui gère une file d'attente, le feu de signalisation se déclare auprès de la voiture qui se met à le surveiller, et dans cette configuration c'est à la voiture d'interpréter les changements d'états du feu de signalisation.
    La responsabilité du traitement peut différer, tu touches les problèmes d'architecture logicielle là

    Tiré de mon blog :
    Citation Envoyé par rawsrc
    L’utilité principale de la programmation objet réside dans la possibilité de représenter des éléments tangibles sous forme de concepts abstraits (équivalent à une représentation purement informatique).
    La perception de la réalité change selon ton point de vue et la POO te permet de suivre ces différentes positions (ça diffère si tu regardes du point de vue feu de signalisation ou du point de vue véhicule).
    Après on va dire que ça se négocie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. setFont ne semble pas fonctionner
    Par Nico57 dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 25/07/2007, 14h37
  2. Réponses: 6
    Dernier message: 22/10/2006, 22h55
  3. Ma table temporaire ne semble pas fonctionner.
    Par outshined dans le forum Requêtes
    Réponses: 2
    Dernier message: 12/09/2006, 14h40
  4. [SQL] La valeur d'une variable ne semble pas être prise en compte
    Par oroumgolok dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/09/2006, 23h31
  5. [MySQL] ORDER BY qui ne semble pas pris en compte
    Par yongblood dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/03/2006, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo