ในเทคโนโลยีและการประยุกต์ใช้คลาส Visual Basic 6.0 (ตอนที่ 1) (ต่อไปนี้จะเรียกว่าข้างต้น) เราได้กล่าวถึงทฤษฎีของคลาส การสร้างคลาส และการฝึกปฏิบัติการเขียนโปรแกรมของคลาสเมธอด ที่จริงแล้ว เหตุผลที่คลาสสามารถทำได้ ถูกนำมาใช้กันอย่างแพร่หลายในด้านวิศวกรรมซอฟต์แวร์ สิ่งสำคัญที่สุดเกี่ยวกับแอปพลิเคชันคือสามารถปิดได้สะดวกมาก การติดตั้งแอตทริบิวต์จำนวนมากที่จำเป็นสำหรับการเขียนโปรแกรมไม่เพียงช่วยให้โปรแกรมเมอร์สามารถเอาชนะความซับซ้อนในการออกแบบการควบคุม (ocx) และไลบรารีลิงก์ (dll) และการดีบักในระดับหนึ่ง แต่ยังปรับปรุงความเรียบง่ายและประสิทธิภาพของโค้ดโปรแกรมด้วย - บทความนี้จะกล่าวถึงคลาสที่สมบูรณ์ การเขียนโปรแกรม รวมถึงวิธีการ คุณสมบัติ และเหตุการณ์พื้นฐาน
(1) ลักษณะและคำจำกัดความของคุณลักษณะคลาส
เช่นเดียวกับคุณสมบัติของการควบคุมมาตรฐาน คุณสมบัติคลาสอนุญาตให้ผู้ใช้กำหนดค่าภายในช่วงข้อมูลที่ระบุ และค่าเหล่านี้จะถูกแชร์โดยส่วนต่างๆ ของโค้ดภายในคลาส การได้มาและการถ่ายโอนคุณลักษณะจำเป็นต้องได้รับการตั้งโปรแกรมผ่านคำสั่ง PRpertyLet และ PropertyGet แน่นอนว่าก่อนอื่นเราจำเป็นต้องกำหนดตัวแปรที่เกี่ยวข้องในระดับโกลบอลหรือระดับโมดูลในคลาส
(2) คุณลักษณะและคำจำกัดความพื้นฐานของเหตุการณ์
เช่นเดียวกับเหตุการณ์ในแบบฟอร์ม คลาสยังมีเหตุการณ์พื้นฐานสองเหตุการณ์ Class_Initialize (ทริกเกอร์เมื่อคลาสถูกโหลด) และ Class_Terminate (ทริกเกอร์เมื่อมีการยกเลิกการโหลดคลาส) ซึ่งทั้งสองเหตุการณ์เป็นแบบส่วนตัว ในความเป็นจริง เราสามารถเพิกเฉยต่อเหตุการณ์ทั้งสองนี้ได้อย่างสมบูรณ์ ตราบใดที่คุณอย่าลืมกรอกวิธีการและคุณสมบัติของคลาสให้ครบถ้วน
คลาสยังสามารถกำหนดเหตุการณ์ของตนเองได้ ซึ่งคล้ายกับรูปแบบการเขียนโปรแกรมของเมธอด ยกเว้นว่าคีย์เวิร์ด WithEvents จำเป็นสำหรับการประกาศพารามิเตอร์ และเหตุการณ์ไม่สามารถมีพารามิเตอร์ที่มีชื่อหรือพารามิเตอร์ทางเลือกใดๆ และไม่มีค่าส่งคืน
ในความเป็นจริง วิธีการและคุณสมบัติที่มีโครงสร้างดีสามารถแทนที่เหตุการณ์ของคลาสที่มีโครงสร้างที่ซับซ้อนได้อย่างสมบูรณ์
(3) ตัวอย่างการเขียนโปรแกรมของวิธีการเรียน เหตุการณ์ และคุณสมบัติ
วัตถุประสงค์ของโปรแกรมนี้คือเพื่อควบคุมการเรียงลำดับเนื้อหาของกล่องข้อความในรูปแบบตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก และแบบย้อนกลับทั้งหมดผ่านคลาสต่างๆ
เพื่ออำนวยความสะดวกในการเขียนและการเรียกใช้โค้ด ฉันจึงอ้างอิงวิธีการเขียนโปรแกรมการแจงนับในชั้นเรียน
รหัสต่อไปนี้อยู่ในคลาส Class1:
ตัวเลือกที่ชัดเจน
PrivateWithEventsmyTXTAsTextBox
'อินเทอร์เฟซพารามิเตอร์วิธีการ
สาธารณะEnumsTYLE
แอตทริบิวต์ตัวพิมพ์เล็ก Lcaseit'
แอตทริบิวต์การใช้อักษรตัวพิมพ์ใหญ่ของ Lbigit
แอตทริบิวต์การเรียงลำดับแบบย้อนกลับของ Nlogoit
สิ้นสุดEnum
'การแจงนับแบบกำหนดเอง ใช้ในการกำหนดคุณลักษณะโดยอัตโนมัติ
PrivatemvarBiaozhiAssTYLE
'ใช้การเชื่อมต่อของค่าคงที่การแจงนับ
PublicFunctiondONE()AsString'
'วิธี DONE ใช้เพื่อตั้งค่า
'ดำเนินการแปลงอักขระที่สอดคล้องกันในกล่องข้อความแบบฟอร์ม
'และส่งคืนสตริงที่แปลงแล้ว
IfmvarBiaozhi=Nlogoitแล้ว
เสร็จสิ้น=StrReverse(myTXT)
'การเรียงลำดับย้อนกลับ
ElseIfmvarBiaozhi=Lcaseitแล้ว
เสร็จสิ้น=LCase(myTXT)
'บังคับให้แปลงตัวพิมพ์เล็ก
อื่น
เสร็จสิ้น=UCase(myTXT)
'บังคับให้แปลงตัวพิมพ์ใหญ่
สิ้นสุดถ้า
EndFunction
'วิธีการเสร็จสิ้นแล้ว'
คุณสมบัติสาธารณะLetBiaozhi (ByValvDataAssTYLE)
'รับค่าที่กำหนดของแอตทริบิวต์'
mvarBiaozhi=vData
สิ้นสุดคุณสมบัติ
PublicPropertyGetBiaozhi()AssTYLE
'โอนค่าคุณลักษณะไปยังชั้นเรียน'
SetBiaozhi=mvarBiaozhi
สิ้นสุดคุณสมบัติ
PublicSubAttach(itTEXTAsTextBox)
'วิธีการเชื่อมต่อคลาส
SetmyTXT=itTEXT
สิ้นสุดย่อย
PrivateSubClass_Initialize()
'กิจกรรมนี้จะเปิดใช้งานเมื่อมีการโหลดคลาส
MsgBox "สวัสดี! โปรแกรมนี้จะแสดงเทคนิคการเขียนโปรแกรมโดยใช้วิธีคลาส คุณสมบัติ และเหตุการณ์!"
สิ้นสุดย่อย
PrivateSubClass_Terminate ()
'กิจกรรมนี้จะเปิดใช้งานเมื่อมีการยกเลิกการโหลดคลาส
MsgBox "สวัสดี! อย่าลืมกรอกรหัสการยกเลิกวัตถุใน Class_Terminate!"
สิ้นสุดย่อย
'รหัสของชั้นเรียนหมดแล้ว'
(4) การเขียนโปรแกรมอ้างอิงของโค้ดแบบฟอร์ม
เพิ่มตัวควบคุมข้อความ TEXT1 ตัวควบคุมรายการแบบหล่นลง COMBO1 และปุ่มคำสั่ง COMMAND1 (CAPTION="เริ่มการแปลง") เพื่อสร้าง FORM1 และปรับตัวควบคุมทั้งสามให้อยู่ในตำแหน่งที่เหมาะสม
DimmyTAsคลาสใหม่1
'การอ้างอิงชั้นเรียน
ส่วนตัวSubForm_Load()
Combo1.เคลียร์
Combo1.AddItem "การแปลงตัวพิมพ์ใหญ่สตริง"
Combo1.AddItem "การแปลงตัวพิมพ์เล็กสตริง"
Combo1.AddItem "สตริงการเรียงลำดับแบบย้อนกลับ"
Combo1.ListIndex=0
'เพิ่มตัวเลือกแอตทริบิวต์ลงในกล่องรายการ
สิ้นสุดย่อย
PrivateSubCommand1_คลิก()
'เปิดใช้งานคลาสเมื่อกดปุ่มคำสั่ง'
myT.แนบข้อความ1
'การเชื่อมต่อพารามิเตอร์วิธี
SelectCaseCombo1.ListIndex
กรณีที่0
myT.Biaozhi=Lbigit
กรณีที่ 1
myT.Biaozhi=Lcaseit
กรณีที่ 2
myT.Biaozhi=Nlogoit
สิ้นสุดการเลือก
'ตามการเลือกในกล่องรายการ ให้กำหนดค่าให้กับแอตทริบิวต์ Biaozhi ของคลาส
'โปรดทราบว่าในสภาพแวดล้อมการเขียนโปรแกรม ค่าแอตทริบิวต์ข้างต้นจะถูกเพิ่มโดยอัตโนมัติ
Text1.Text=myT.dONE
'ส่งคืนสตริงหลังจากการเรียงลำดับ
สิ้นสุดย่อย
PrivateSubForm_Unload (ยกเลิก AsInteger)
SetmyT=ไม่มีอะไร
จบ
'นิสัยการเขียนโปรแกรมที่ดี
สิ้นสุดย่อย
โค้ดของเราดูกระชับมาก รู้สึกเหมือนใช้การควบคุม ซึ่งไม่เพียงแต่สามารถเรียกได้ตามต้องการ แต่ยังใช้ฟังก์ชันพร้อมท์อัตโนมัติของ VB ได้อย่างสะดวกอีกด้วย
(5) สรุปเทคนิคการเขียนโปรแกรมแบบคลาส
พูดอย่างเคร่งครัด คลาสเป็นเทคโนโลยีที่มีประโยชน์มากในการเขียนโปรแกรม VB และคลาสเหล่านี้ยังยากต่อการเรียนรู้และเชี่ยวชาญอีกด้วย เพื่อประสิทธิภาพและความชัดเจนของโค้ด คุณควรหลีกเลี่ยงการใช้โมดูลคลาส การควบคุม และไลบรารีการเชื่อมต่อเพิ่มเติม และแทนที่ด้วยโมดูลมาตรฐาน
ตัวอย่างโค้ดในบทความนี้ค่อนข้างง่าย แต่ครอบคลุมทุกแง่มุมของเทคโนโลยีการเขียนโปรแกรมโมดูล ฉันหวังว่าผู้เริ่มต้นจะเรียนรู้จากมันและโปรแกรมเมอร์สามารถพูดคุยด้วยกันได้ เราควรเชื่อว่าไม่ว่าอาคารสูงจะซับซ้อนแค่ไหน พวกมันล้วนสร้างจากอิฐธรรมดา ในทำนองเดียวกัน ไม่ว่าโครงการซอฟต์แวร์จะซับซ้อนแค่ไหน พวกมันก็ประกอบด้วยคำสั่งพื้นฐานสำหรับผู้ที่ชื่นชอบการเขียนโปรแกรมและโปรแกรมเมอร์ นักวิเคราะห์คือโปรแกรมที่สร้างด้วยคำสั่งโปรแกรมเดียวกันนั้นแตกต่างกัน -