การดำเนินการด้านคุณสมบัตินั้นเหมือนกับตัวแปรสาธารณะ แต่คุณสมบัติสามารถควบคุมได้มากกว่า
คุณสมบัติที่ใช้กันทั่วไปมักจะรวมถึง "รับ" และ "ให้" การดำเนินการทั้งสองนี้สามารถระบุแอตทริบิวต์หลักได้ เช่น ข้อมูลโค้ดต่อไปนี้:
โค้ดด้านบนทำงานเหมือนกับตัวแปร Age มาก เมื่อปฏิบัติการตัวแปรเช่นคำสั่งต่อไปนี้
มันเหมือนกับการรันคุณสมบัติ Let และกำหนด 4 ให้กับ vNewValue เมื่อปฏิบัติการตัวแปรเช่นคำสั่งต่อไปนี้
คือการได้รับคุณสมบัติ เช่นเดียวกับการเรียกใช้คุณสมบัติ Get และค่าที่เกี่ยวข้องจะถูกส่งกลับโดย intAge ดังนั้นเราจึงสามารถคิดได้ดังนี้:
แอตทริบิวต์ Get ที่เรียกว่าหมายถึงการรับค่าที่แน่นอนหลังจากการรัน
แอตทริบิวต์ Let ที่เรียกว่าหมายถึงการสร้างคุณลักษณะบางอย่างให้เท่ากับค่าที่แน่นอนหลังจากการรัน
แต่จนถึงตอนนี้ เราได้แสดงให้เห็นเพียงว่าคุณสมบัติทำงานคล้ายกับตัวแปรมาตรฐานอย่างมาก และเรายังไม่มีเวลาควบคุมคุณสมบัติมากขึ้น ดังนั้นเรามาหารือกันด้านล่าง
เปิดโครงการในส่วนก่อนหน้า และทำการปรับเปลี่ยนคลาส CDog ต่อไปนี้:
เอาตัวแปรอายุออกจากคลาส CDog
เพิ่มรหัสต่อไปนี้:
เมื่อเทียบกับโค้ดก่อนหน้านี้ นี่เป็นเพียงการปรับเปลี่ยนเล็กน้อยในโค้ดแอตทริบิวต์ Let มาทำการทดสอบเล็กๆ น้อยๆ โดยสมมติว่าผู้ใช้พยายามทำ:
นั่นคือ เรียกใช้คุณสมบัติ Let เพื่อให้ vNewValue เท่ากับ 30 ในโค้ดยังตรวจจับด้วยว่า vNewValue น้อยกว่าหรือเท่ากับ 50 แน่นอนว่า 30 ตรงตามข้อกำหนด ดังนั้นค่า intAge ในอินสแตนซ์จึงเท่ากับ 30 แต่หากเกิน 50 จะไม่มีอะไรเกิดขึ้น และคุณสมบัติจะออกโดยไม่ได้รับการกำหนดค่าใดๆ แน่นอน เรายังสามารถให้รหัสข้อผิดพลาดที่เกี่ยวข้องหรือแสดงกล่องโต้ตอบพร้อมท์ได้
สลับไปที่หน้าต่างรหัสด้านหลัง Form1;
คลิกเมาส์บนบรรทัดแรกของโค้ดที่มีการตั้งค่าคุณสมบัติ Age แล้วกด F9
MyDog.อายุ=4
คลิกเมาส์ในบรรทัดแรกของคำสั่งที่ได้รับรหัสแอตทริบิวต์ Age แล้วกด F9
MsgBoxMyDog.Name&"คือ"&MyDog.Age&"ปี"
ตอนนี้เรามาทดสอบกัน:
กด F5 เพื่อรันโปรแกรม
คลิกปุ่มคำสั่ง;
โค้ดควรแตกที่บรรทัดโค้ดที่เพิ่มเบรกพอยต์โดยการกด F9
เมื่อโค้ดถูกขัดจังหวะ ให้กด F8 เป็นขั้นตอนเดียวและสังเกตผลลัพธ์
ตอนนี้เข้าใจวิธีการทำงานแล้วหรือยัง? สังเกตว่า "รับ" และ "ให้" ของคุณสมบัติ Age ทำงานอย่างไร
ในส่วนถัดไป เราจะหารือไม่เพียงแต่วิธีการใช้คุณสมบัติเพิ่มเติม แต่ยังรวมถึงวิธีสร้างคุณสมบัติตามต้องการด้วย
-