Cagou-77 a écrit :J'ai programmé en Clipper avec de la POO il y a quelque années et je
voudrait me remettre dans le bain, mais la conception des objets diffère un peu j'ai trouvé cet exemple mais il bug et je n'arriva pas à savoir pourquoi .
Merci d'avance
( je pense que l'on devrait étendre les tutos sur ce sujet car la POO est trés intéressante à programmer quand on a assimilé cette façon de programmer .)
J’aimerai te mettre en garde pour ce qui est de la POO en Pure :
PureBasic ne permet pas de faire de la POO et le fait que tu trouves en ces exemples des différences avec ce que tu as connu n’est pas étonnant.
Actuellement Pure permet, via les interfaces, d’interfacer avec des librairies à l’architecture OO.
Il est possible, comme on le voit ici, de se servir des interfaces aussi pour agrémenter son code d’une écriture POO.
Il faut néanmoins prendre la peine de créer soit même tous les composants nécessaires à cela, principalement ce qui est appelé ici VirtualTable comportant les adresses des fonctions.
Or, en POO, cette chose est normalement transparente (pris en charge par le compilateur).
Une fois ceci fait, on dispose effectivement d’une commodité d’écriture rappelant un objet.
On peut créer une variable typé de cet objet : c’est l’instanciation.
On dispose alors des méthodes d’écrites dans l’interface
Mais disons que c’est tout : Pas d’héritage ni de polymorphisme qui font que l’on dispose d’une vraie POO, même si certaines choses peuvent s’apparenter à l’héritage et je pense au parametre Extends de l’instruction Interface.
Donc soyons clair, pas de POO en Pure, mais rien ne nous empêche d’essayer de creuser dans cette direction!
Comme le dit la doc, les interface posent « les bases pour une 'Programmation Orientée Object' en PureBasic »
