บางครั้งจำเป็นต้องมีแอตทริบิวต์เพิ่มเติมเพื่อให้สามารถจัดการคลาสได้ดีขึ้น ตัวอย่างเช่น สมมติว่าคุณมีกลุ่มลูกค้าที่แตกต่างกันสี่กลุ่ม ได้แก่ ลูกค้าองค์กร กลุ่มลูกค้าขนาดใหญ่ กลุ่มเล็ก และกลุ่มลูกค้าใหม่ หรือประเภทการค้นหาด้วยวิธีการค้นหาที่แตกต่างกันสามวิธี ได้แก่ ฟล็อปปี้ดิสก์ ฮาร์ดไดรฟ์ และเครือข่าย ดังนั้น จะดีกว่าไหมถ้าเลือกหนึ่งรายการจากรายการตัวเลือก แทนที่จะตั้งค่าคุณสมบัติที่เกี่ยวข้องด้วยตัวเลขหรือข้อความที่คุณไม่เข้าใจ
ฉันคิดว่าคำตอบคือใช่ เพราะการประมวลผลประเภทนี้เรียกว่า "การแจงนับ"
เปิดโครงการจากส่วนก่อนหน้าแล้วมาเพิ่มโค้ดกัน
เพิ่มรหัสต่อไปนี้ลงในคลาส CDog:
คำหลัก "Enum" ใช้เพื่อกำหนดการแจงนับ กล่าวคือ เป็นรายการตัวเลือกที่เป็นไปได้ แต่ละตัวเลือกจะมีตัวเลขที่สอดคล้องกัน ซึ่งหมายความว่า BigAndShaggy เท่ากับ 1, ShortCrewCut เท่ากับ 2 และอื่นๆ
ควรสังเกตว่าเมื่อเพิ่มข้อมูลเกี่ยวกับรายการแจงนับลงในฐานข้อมูลค่าที่เกี่ยวข้องจะมีประโยชน์มาก เนื่องจากจริงๆ แล้ว "BigAndShaggy" แทนค่า 1 จึงสามารถแทรกลงในช่องตัวเลขของฐานข้อมูลได้โดยตรง ซึ่งหมายความว่าคุณสามารถใช้สตริงเพื่อรักษาฐานข้อมูลได้อย่างง่ายดาย
ดังนั้น เรามาสร้างรายการประเภท Dog's Coat และกำหนดแอตทริบิวต์อื่นเพื่อเพิ่มประเภทเหล่านี้ให้กับคลาส CDog
ประกาศตัวแปรต่อไปนี้ในชั้นเรียน:
PRivateudtCoatAsCoatType
ตัวแปรส่วนตัวที่กำหนดนี้ใช้เพื่อบันทึกแอตทริบิวต์ประเภท Coat ที่จะถูกเพิ่ม โปรดทราบว่าตัวแปร udtCoat ไม่ใช่ทั้งสตริงหรือจำนวนเต็ม แต่เป็นประเภทการแจงนับ CoatType ที่เรากำหนดไว้
เมื่อเปิดคลาส CDog ให้เลือกคำสั่ง "AddProcedure" ในเมนู "เครื่องมือ" และกล่องโต้ตอบที่เกี่ยวข้องจะปรากฏขึ้น
พิมพ์ Coat ในช่องแก้ไขชื่อ
ตรวจสอบปุ่มตัวเลือก "คุณสมบัติ" และคลิก [ตกลง]
ระบบจะสร้างกรอบโค้ดต่อไปนี้โดยอัตโนมัติ:
แต่นี่ไม่ใช่กรอบการทำงานที่เราต้องการ ในโค้ด ประเภทตัวแปร "Variant" สามารถรับและประมวลผลข้อมูลประเภทใดก็ได้ ในคลาส CDog ที่เรากำหนด คุณลักษณะสุดท้ายคือ Age ซึ่งสามารถยอมรับได้เฉพาะจำนวนเต็มเท่านั้น แต่ตอนนี้แอตทริบิวต์จะต้องสามารถรับประเภทข้อมูลในรายการ CoatType ได้ ดังนั้นจึงจำเป็นต้องทำการแก้ไขต่อไปนี้:
เปลี่ยน "Variant" ทั้งหมดในโค้ดที่สร้างขึ้นเป็น "CoatType"
จากนั้นเพิ่มโค้ดที่จัดการคุณสมบัติได้จริง
ในขั้นตอนการรับของคุณสมบัติ เพิ่มรหัสต่อไปนี้:
ในขั้นตอน Let ของคุณสมบัติ ให้เพิ่มรหัสต่อไปนี้:
สลับไปที่ Form1;
เปลี่ยนรหัสของปุ่มคำสั่งเป็น:
ตอนนี้เริ่มพิมพ์: MyDog.Coat=
ความมหัศจรรย์นี้เกิดขึ้นเมื่อคุณกดปุ่ม "=" รายการตัวเลือกที่เป็นไปได้จะปรากฏขึ้นซึ่งเราสามารถเลือกได้หนึ่งรายการ
กรอกรหัส: MyDog.Coat=ShortCrewCut
ต่อไปเราจะได้ค่าของคุณสมบัติ Coat หากตอนนี้เราเพียงแค่แสดงค่าคุณสมบัติในกล่องโต้ตอบข้อความ เราก็จะคืนค่าของส่วนที่เลือก ตัวอย่างเช่น หากเลือก ShortCrewCut คุณสมบัติจะต้องส่งคืน 2 หากคุณไม่เชื่อคุณสามารถลองดูได้!
แต่นี่เป็นอีกวิธีหนึ่ง ซึ่งก็คือการใช้คำสั่ง If-Then เพื่อกำหนด Coat:
เพิ่มรหัสต่อไปนี้หลังจากรหัสที่มีอยู่สำหรับปุ่มคำสั่ง:
รหัสที่นี่เพียงกำหนดค่าคุณสมบัติ Coat และแสดงกล่องโต้ตอบข้อความที่เกี่ยวข้อง แน่นอนว่าสามารถใช้คำสั่ง "SelectCase" ที่นี่ได้เช่นกัน
สุดท้ายนี้ เราได้เพิ่มคำสั่งสุดท้ายเพื่อเพิ่มหน่วยความจำของคอมพิวเตอร์:
เพิ่มรหัสต่อไปนี้หลังจากรหัสที่มีอยู่สำหรับปุ่มคำสั่ง:
กด F5 เพื่อรันโปรแกรมและคลิกปุ่ม Command เพื่อทดสอบ
ผลลัพธ์คืออะไร? -