cs_sim51
Messages postés240Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention31 décembre 20062 23 janv. 2005 à 12:56
<li>Private</li> Toutes les méthodes et
propriétés incluses sous cette clause, ne sont visibles et utilisables
qu’à l’intérieur de la classe elle-même: à l’implémentation de la
classe et de ses méthodes. L’objet instanciée ne pourra pas quant à
lui, accéder à ces méthodes ou propriétés privées.
<li>Protected </li>Toutes les méthodes et propriétés incluses
sous cette clause ne sont visibles et utilisables qu’à l’intérieur de
la classe elle-même et à l’interieur des classes qui en hériteront :
Ses classes descendantes. Les objets instanciés de cette classe ou des
classes descendantes ne pourront toujours pas y accéder. <li>Public </li>Cette clause permet aux méthodes et aux
propriétés qu’elle contient d’être visible dans la classe même, dans
les classes descendantes, dans les objets instanciés. Une contrainte
existe dans Delphi pour les propriétés publiques. Elles doivent référencer d’autres propriétés privées ou ou des méthodes GetSet… On verra ca plus loin.
<li>Published </li>Cette clause permet d’afficher les
propriétés qu’elle contient dans l’inspecteur d’objet, à condition que
l’objet soit en fait un composant posé sur une fiche, et donc
implicitement instancié. Mais cette clause sort un peu du domaine de la
POO… C’est plus du spécifique Delphi
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
vivelesquads
Messages postés23Date d'inscriptionsamedi 1 janvier 2005StatutMembreDernière intervention11 juillet 2008 23 janv. 2005 à 14:31
Merci sim51 pour ces précisions, mais elles ne réponds pas vraiment à ma question. Je ne parle pas de propriété published, mais de procedure published. Je comprend bien comment une propriété Published peut être affichée dans l'inspecteur d'objet mais pas le principe pour les procedures. Par exemple la classe TShape contient
published
procedure StyleChanged(Sender: TObject);
StyleChange n'est pas disponible dans l'inspecteur d'objet, et n'est indiquée nul part dans l'aide sur TShape.
Le mystère reste entier. Si vous pouviez m'éclairer...
Merci
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 23 janv. 2005 à 14:55
Pour moi, dans ton cas, que ce soit PUBLISHED ou PUBLIC, l'intérêt est le même. Mais alors PUBLIC serait plus naturel. En effet, PUBLISHED sert pour les PROPERTY. Or PROCEDURE n'est pas PROPERTY. Ca n'a donc rien à y faire dedans...
vivelesquads
Messages postés23Date d'inscriptionsamedi 1 janvier 2005StatutMembreDernière intervention11 juillet 2008 23 janv. 2005 à 15:17
Bien d'accord avec toi grandVizir. Mais la class Tshape n'est pas de
moi mais bien de Delphi dans l'onglet Supplément de Delphi 6, il doit
donc y avoir une raison. Serai-ce une histoire de pointeur de fonction ?