• [^] # Re: Chacun son style

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 4.

    Prend un autre exemple, je veux redimensionner le bouton contenu dans une fenêtre :
    app.getMainWindow().getContainer().getChild(1).resize(10,3)

    Quel est le sens pour, un objet qui a accès à l'objet app, de modifier un détail de la représentation des données à l'écran ?

    Tu crois que le container et la Window sont inccapables de se redimensionner automatiquement parcque je ne les ai pas notifié ?

    Ben oui, ils savent pas, ils font pas. Sauf si tu as une loop qui tourne fear

    t'aurais fais comment sans les get ?
    app.resizeFirstChildOfContainerInMainWindow(10, 3) ?

    Je ne le ferais pas car ça n'a pas de sens, dans le cas présent.

    Comment prévoir tous ces cas ?

    Est-ce nécessaire ? Est-ce qu'un composant graphique doit être modifiable par n'importe quelle portion du code qui l'utilise ?

    Oué enfin si on pouvait éviter de prendre le C++ comme langage de référence quand on parle programmation objet ca serait pas mal :)

    En matière de programmation orientée objet, il n'y a pas plus complet et avancé que le C++. D'aucun diront qu'il est même indigeste et incompréhensible.
    En C++, tu as les interfaces (classes abstraites), les classes et fonctions membres finales (bon ok, là c'est vraiment bricolo), le polymorphisme sous toutes ces formes, l'encapsulation (contrairement à Python qui se prétend orienté objet alors qu'il expose tout), la programmation fonctionnelle, etc. Mais si tu vois un concept manquant, je suis tout ouïe.

    Oui bien sûr, mais ça suppose que ta mercedes est la fonction de changement de pneu.
    Donc si c'est une bibliothèque qui n'a pas prévu le coup, t'es mort, tu retournes voir le constructeur. C'est peut-être l'effet recherché tu me diras. Si t'es garagiste, tu peux avoir envie de bricoler sans t'en tenir aux seuls cas imaginer par le fabriquant.

    Je suppose que tu voulais dire que la mercedes a la fonction :o)

    C'est évidement l'objectif de la programmation orientée objet : des boîtes noires avec une interface pour faire des choses. Et si tu as besoin que la boîte noire fasse plus de choses, tu travailles avec le constructeur pour qu'il améliore la boîte noire. Sinon, comme tu l'as dit, ce sera du bricolage et la fiabilité de la voiture va légèrement en souffrir.
    D'ailleurs, j'ai bien parlé de calcul de trajectoire dans mon message, et ce n'était pas anodin. La plupart des véhicules modernes tendent à nécessité un outil informatique afin de réaliser les opérations de maintenance courante comme la vidange. Alors le changement de pneu !