เทคโนโลยี VCL ของ Delphi ช่วยให้โปรแกรมเมอร์จำนวนมากเริ่มต้นได้อย่างรวดเร็ว: ประตูโปรแกรมเมอร์ถูกลากและแถลงการณ์ Pascal สองสามรายการ ขอแสดงความยินดีคุณสามารถดำเนินการพัฒนาโปรแกรมที่ยิ่งใหญ่นี้ได้แล้ว อย่างไรก็ตามหลังจากเรียนมาระยะหนึ่งแล้วคุณอาจไม่คิดอย่างนั้น เนื่องจาก Delphi รองรับภาษาที่มุ่งเน้นวัตถุในความเป็นจริงส่วนประกอบ VCL ทั้งหมดได้รับการออกแบบตามภาษาที่มุ่งเน้นวัตถุ แน่นอนว่าที่นี่เราจะไม่หารือเกี่ยวกับคุณภาพของการใช้วิธีการเชิงวัตถุและเราไม่ต้องการก่อให้เกิดการประท้วงจากคนที่เกี่ยวข้องหลังจากทั้งหมด "แครอทและผัก"
ใน Delphi การควบคุมทั้งหมดจะถูกประกาศภายใต้คำหลักเผยแพร่ซึ่งเป็นตำแหน่งเริ่มต้นสำหรับการใช้การเขียนโปรแกรมส่วนประกอบ ด้วยวิธีนี้หาก Form2 ต้องการอ้างถึงการควบคุมใน Form1 (ถ้าเป็น UNIT1) ตราบใดที่การใช้งาน UNIT1 ก็โอเค อย่างไรก็ตามหากวันหนึ่งฉันตั้งใจเปลี่ยนชื่อการควบคุมใน Form2 โดยไม่ตั้งใจรหัสทั้งหมดใน Form1 จะถูกเขียนใหม่หรือไม่? ดังนั้นฉันสนับสนุนการใช้การควบคุมเหล่านี้เป็นองค์ประกอบพิเศษของคลาสฟอร์มและแบบฟอร์มภายนอกสามารถเข้าถึงการควบคุมในพวกเขาผ่านคุณสมบัติที่เผยแพร่โดยคลาสแบบฟอร์ม
ตัวอย่างเช่น:
tform1 = คลาส (tform)
ของ Privent
ปุ่ม 1: tbutton
จบ;
อย่างไรก็ตามการออกแบบนี้จะแก้ปัญหาการห่อหุ้มของสมาชิก ความจริงปัญหานี้ได้รับการแก้ไข
การเริ่มต้น
เพิ่ม registerclasses ([tbutton])
ไม่เป็นไร
แน่นอนวิธีการออกแบบเชิงวัตถุนั้นซับซ้อนกว่าวิธีการ "ลาก" ก่อนหน้านี้ แต่เราได้รับการห่อหุ้มระดับสูงซึ่งฉันคิดว่าคุ้มค่าแล้วพวกคุณล่ะ?