Il n'est pas nécessaire que le language fournisse un mécanisme de public/private pour faire de l'encapsulation. Tu peux parfaitement le faire par convention, comme par exemple préfixer tes attributes privés avec un underscore.
Smalltalk par exemple n'a pas de mécanisme de méthodes privés, il n'empêche qu'il est considéré comme un des langages fondateurs de la POO. Python non plus, et pourtant n'importe quel Pythoniste peut te montrer à quel point il est bien plus orienté object que Java ou C++.
L'encapsulation c'est plus une "bonne pratique" de développement qu'autre chose.
Comme quoi quand Crockford parle de: "the world's most misunderstood programming language", il a part tord, mais visiblement on pourrait aussi parler de "the world's most misunderstood programming concept" à propos de la POO…
[^] # Re: Lua
Posté par Jean B . En réponse à la dépêche Javascript comme langage par défaut pour GNOME. Évalué à 7.
Mouarf.
Il n'est pas nécessaire que le language fournisse un mécanisme de public/private pour faire de l'encapsulation. Tu peux parfaitement le faire par convention, comme par exemple préfixer tes attributes privés avec un underscore.
Smalltalk par exemple n'a pas de mécanisme de méthodes privés, il n'empêche qu'il est considéré comme un des langages fondateurs de la POO. Python non plus, et pourtant n'importe quel Pythoniste peut te montrer à quel point il est bien plus orienté object que Java ou C++.
L'encapsulation c'est plus une "bonne pratique" de développement qu'autre chose.
Ensuite tu peux tout à fait faire de l'encapsulation en Javascript, il suffit de se sortir les doigts: http://javascript.crockford.com/private.html
Comme quoi quand Crockford parle de: "the world's most misunderstood programming language", il a part tord, mais visiblement on pourrait aussi parler de "the world's most misunderstood programming concept" à propos de la POO…