La tecnología VCL de Delphi permite que muchos programadores comiencen muy rápidamente: la puerta del programador simplemente se arrastra y algunas declaraciones de Pascal. Felicitaciones, ya puede llevar a cabo esta gran causa de desarrollo de programas. Sin embargo, después de estudiar por un tiempo, es posible que no lo pienses. Debido a que Delphi admite idiomas orientados a objetos, de hecho, todos los componentes de VCL están diseñados en base a los idiomas orientados a objetos. que, por supuesto, aquí no discutiremos la calidad del uso de métodos orientados a objetos, ni queremos causar protestas de personas relevantes, después de todo, "zanahorias y verduras".
En Delphi, todos los controles se declaran bajo la palabra clave Publish, que también es la ubicación predeterminada para usar la programación de componentes. De esta manera, si un FORM2 quiere referirse a un control en Form1 (si es la Unidad1), siempre que el uso de la Unidad1 esté bien. Sin embargo, si algún día cambio accidentalmente el nombre del control en Form22, ¿no se reescribirían todos los códigos en Form1? Por lo tanto, abogo por usar estos controles como elementos especiales de la clase de formulario, y los formularios externos pueden acceder a los controles en ellos a través de las propiedades publicadas por la clase de formulario.
Por ejemplo:
TForm1 = class (tForm)
Privado
Botón 1: tbutton
fin;
Sin embargo, este diseño resuelve la alta encapsulación de los miembros. De hecho, este problema también se resuelve.
Inicialización
Agregar registro de Classes ([tbutton])
Eso está bien.
Por supuesto, este método de diseño orientado a objetos es más complicado que el método anterior de "arrastre", pero hemos logrado un alto grado de encapsulación, que creo que vale la pena, ¿qué hay de ustedes?