• [^] # Re: l'héritage et les exemples pourris

    Posté par . En réponse au lien « Clean code » : performances lamentables. Évalué à 4.

    D'ailleurs, on peut vraiment décrire un triangle avec juste une hauteur et une largeur? Bien sûr que non! C'est encore un truc débile.

    Bien sur que si : un triangle rectangle. Et on peut décrire un triangle equilateral avec une seule dimansion. Un triangle rectangle isocèle se décrit avec juste la mesure de l'un des deux côtés constituant l'angle droit.

    Mais comme tu le soulignes, ce sont des triangles particuliers, comme les carrés sont des rectangles particuliers. Maintenant fau-il une classe par type de forme ? Ca doit dépendre du besoin.

    Perso, je vois l'héritage comme le goto: c'est utile, mais si on peut s'en passer, autant s'en passer. L'utiliser partout ou le bannir absolument, c'est du dogmatisme, et ça ne mène à rien de bon.

    En pratique, j'en utilise souvent, mais je n'ai pas souvenir d'avoir un seul programme qui soit de l'objet pur...

    Ta remarque me fait penser à quelque chose : Comment modéliser ce type de choses en UML ?
    J'étend la question à un sujet qui me trottine dans la tête depuis un moment : UML est un modèle qui est assez "orienté" objet (il ne devrait d'ailleurs pas s'appeler "Uml" mais OML". Je le trouve inadapté pour modéliser des concepts issus des langages fonctionnels ou il n'y a pas forcément d'objet (je pense notamment à Erlang qui a la notion de process que l'on voit un peu partout - avec OTP et le concept de worker/superviseur ou de behavior). N'étant ni un spécialiste UML, ni un spécialiste Erlang, je me demande encore si UML est adapté à la modélisation Erlang (je pense que certaines choses peuvent se représenter en UML, mais qu'il manque quelque chose à UML pour pouvoir modéliser correctement ces concepts - mais c'est peut-être de la méconnaissance).