Ver Mensaje Individual
  #2  
Antiguo 18-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En realidad no creo que pueda hablarse del lugar correcto para declarar un procedimiento, a no ser que con esto nos queramos referir al lugar adecuado para hacerlo.

Un procedimiento puede ser público para otras unidades si se declara en la cláusula "interfaz" de una unidad. Si sólo se implementa el procedimiento en la cláusula "implementation" el mismo no estará disponible sino para la unidad en que se implementa.

Si un procedimiento (o función) pertenece a una clase decimos que se trata de un método de dicha clase. Aquí ya hay que decidirse no por el lugar de la declaración sino por el "alcanze" del ya método de la clase.

Un método puede declararse dentro de una clase como privado, protegido o público. En las últimas versiones de Delphi también puede declararse como "privado estrictamente" o "protegido estrictamente".

Si se declara público el método estará disponible para todo aquel que use la clase. Si se declara protegido sólo podrá accederse a él desde la clase en cuestión o clases derivadas de esta. Si se declara privado el método será accesible sólo desde la clase en que se declara.

En Delphi hay un "problema" que se soluciona en las últimas versiones. Si un método se declara "privado estrictamente" no podrá accederse al mismo sino desde el interior de la clase en que se declare, incluso si se trata de hacerlo desde la misma unidad en que se encuentra declara la clase que contiene el método.

Y esto es... más o menos (más menos que más) y en pocas palabras, lo que puedo decir sobre lo que planteas.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 18-06-2007 a las 12:24:22.
Responder Con Cita