Delphi의 VCL 기술은 많은 프로그래머가 매우 빨리 시작할 수 있습니다. 프로그래머의 문은 단순히 드래그하고 몇 가지 Pascal 진술입니다. 축하합니다. 이미 프로그램 개발 의이 위대한 원인을 수행 할 수 있습니다. 그러나 한동안 공부 한 후에는 그렇게 생각하지 않을 수 있습니다. Delphi는 객체 지향 언어를 지원하기 때문에 모든 VCL 구성 요소는 객체 지향적 인 것들을 사용하여 객체 지향적 인 것들을 설계 할 때 약간 부적절합니다 물론, 우리는 객체 지향적 방법을 사용하는 품질에 대해서는 논의하지 않을 것이며, 결국 "당근과 채소"와 관련된 사람들의 항의를 일으키고 싶지 않을 것입니다.
델파이에서는 모든 컨트롤이 게시 키워드에 따라 선언되며, 이는 구성 요소 프로그래밍을 사용하기위한 기본 위치이기도합니다. 이런 식으로, Form2가 Form1에서 제어를 참조하려면, Form1이 Form2의 물건을 참조하려면, 표시된대로 만들 수 있습니다. 그러나 언젠가는 Form2의 컨트롤 이름을 실수로 변경하면 Form1의 모든 코드를 다시 작성하지 않습니까? 따라서 이러한 컨트롤을 양식 클래스의 특수 요소로 사용하여 옹호하며 외부 양식은 양식 클래스에서 게시 한 속성을 통해 컨트롤에 액세스 할 수 있습니다.
예를 들어:
tform1 = 클래스 (tform)
privte
버튼 1 : tbutton
끝;
그러나이 디자인은 멤버의 높은 캡슐화를 해결합니다 사실,이 문제는 매우 간단합니다
초기화
레지스터 클래스 추가 ([tbutton])
괜찮아요
물론, 이러한 객체 지향 설계 방법은 이전 "Drag"방법보다 더 복잡하지만, 우리는 높은 수준의 캡슐화를 달성했습니다.