-
ชื่อของพารามิเตอร์โดยนัยที่ส่งผ่านไปยังวิธีการตั้งค่าของคุณสมบัติคืออะไร?
ค่าซึ่งมีประเภทเหมือนกับประเภททรัพย์สินที่ประกาศไว้
จะใช้การสืบทอดใน C # ได้อย่างไร?
เพิ่มเครื่องหมายทวิภาคหลังชื่อคลาส ตามด้วยชื่อของคลาสพื้นฐาน
C # รองรับการสืบทอดหลายรายการหรือไม่
ไม่รองรับ. สามารถทำได้โดยใช้อินเทอร์เฟซ
สามารถเข้าถึงคุณสมบัติ/วิธีการที่ได้รับการป้องกันได้ที่ไหน?
สามารถเข้าถึงได้โดยการสืบทอดหรือการสืบทอดทางอ้อมและคลาสย่อยของคลาสนี้
สมาชิกส่วนตัวจะได้รับการสืบทอดหรือไม่?
ใช่แต่ไม่สามารถเข้าถึงได้ ดูเหมือนว่าพวกเขาไม่สามารถสืบทอดได้ แต่จริงๆ แล้วพวกเขาสืบทอดมา (ในความคิดของฉัน คลาสย่อยสืบทอดทุกอย่างจากคลาสพาเรนต์ <การคิดใน JAVA> บอกว่าออบเจ็กต์คลาสย่อยมีสำเนาที่สมบูรณ์ของออบเจ็กต์คลาสพาเรนต์ การสร้างอินสแตนซ์คลาสนั้นสร้างอินสแตนซ์จากซูเปอร์คลาสระดับบนสุด เป็นเลเยอร์- โครงสร้างการห่อแบบทีละชั้น วิธีการเข้าถึงแบบจำกัดส่วนตัวสามารถอยู่ภายในคลาสได้เท่านั้น ที่จริงแล้ว วัตถุคลาสย่อยเป็นเจ้าของทุกอย่างของวัตถุคลาสหลัก)
โปรดอธิบายตัวแก้ไขที่ได้รับการป้องกันภายใน
คุณสมบัติ/วิธีการแก้ไขโดยการป้องกันภายในสามารถเข้าถึงได้โดยคลาสย่อยในแอสเซมบลีเดียวกัน (แอสเซมบลี)
C# จัดเตรียมคอนสตรัคเตอร์แบบไม่มีพารามิเตอร์เริ่มต้น เมื่อฉันใช้งานคอนสตรัคเตอร์อื่นที่มีพารามิเตอร์เดียว ฉันก็อยากจะคงคอนสตรัคเตอร์แบบไม่มีพารามิเตอร์นี้ไว้ด้วย ฉันควรเขียนคอนสตรัคเตอร์ด้วยวิธีนี้กี่ตัว?
ประการที่สอง เมื่อคุณใช้ Constructor แล้ว C# จะไม่มี Constructor เริ่มต้นอีกต่อไป ดังนั้นคุณจึงจำเป็นต้องใช้งาน Constructor แบบไม่มีพารามิเตอร์ด้วยตนเอง
คลาสพื้นฐานทั่วไปสำหรับวัตถุทั้งหมดใน C# คืออะไร
System.Object
อะไรคือความแตกต่างระหว่างการโอเวอร์โหลดและการเขียนทับ?
การโอเวอร์โหลดทำให้มีการเรียกใช้ลายเซ็นเมธอดด้วยพารามิเตอร์ที่แตกต่างกัน การเอาชนะจัดให้มีการใช้งานในคลาสย่อยที่เปลี่ยนพฤติกรรมของเมธอดคลาสพาเรนต์
เสมือนหมายถึงอะไรในคำจำกัดความของวิธีการ?
วิธีการแก้ไขโดยเสมือนสามารถแทนที่ได้ด้วยคลาสย่อย
วิธีการที่ไม่คงที่สามารถแทนที่วิธีการคงที่ได้หรือไม่?
ไม่ ลายเซ็นของวิธีการแทนที่จะต้องสอดคล้องกับลายเซ็นของวิธีการที่ถูกแทนที่ ยกเว้นการเปลี่ยนเสมือนเป็นการแทนที่
วิธีการเสมือนส่วนตัวสามารถแทนที่ได้หรือไม่?
ไม่ แม้แต่วิธีการส่วนตัวในคลาสพาเรนต์ก็ไม่สามารถเข้าถึงได้ในคลาสย่อย
คลาสสามารถป้องกันไม่ให้คลาสอื่นสืบทอดได้หรือไม่?
ใช่ ใช้คำสำคัญปิดผนึก
เป็นไปได้ไหมที่จะอนุญาตให้คลาสบางคลาสได้รับการสืบทอด แต่ไม่อนุญาตให้มีการลบล้างวิธีการบางอย่างในคลาสนั้น?
ใช่ ทำเครื่องหมายชั้นเรียนนี้เป็นสาธารณะ และทำเครื่องหมายวิธีนี้ว่าปิดผนึก
คลาสนามธรรมคืออะไร?
คลาสที่ไม่สามารถสร้างอินสแตนซ์ได้ โดยทั่วไปคลาสนามธรรมจะมีวิธีการเชิงนามธรรม แต่แน่นอนว่าคลาสเหล่านี้สามารถนำไปใช้งานเป็นรูปธรรมได้เช่นกัน คลาสที่สืบทอดมาสามารถถูกสร้างอินสแตนซ์ได้หลังจากที่ได้ใช้วิธีการนามธรรมทั้งหมดของคลาสนามธรรมแล้วเท่านั้น
เมื่อใดจะต้องประกาศคลาสให้เป็นนามธรรม?
เมื่อคลาสนี้มีวิธีนามธรรม หรือเมื่อคลาสไม่ได้ใช้วิธีการนามธรรมของคลาสหลักอย่างเต็มที่
อินเทอร์เฟซคืออะไร?
คลาสที่มีเพียงวิธีนามธรรมสาธารณะเท่านั้น วิธีการเหล่านี้จะต้องนำไปใช้ในคลาสย่อย
เหตุใดฉันจึงไม่สามารถระบุตัวแก้ไขสำหรับวิธีการในอินเทอร์เฟซได้
วิธีการในอินเทอร์เฟซใช้เพื่อกำหนดสัญญาสำหรับการสื่อสารระหว่างอ็อบเจ็กต์ การระบุวิธีการในอินเทอร์เฟซเป็นแบบส่วนตัวหรือแบบป้องกันไม่มีความหมาย พวกเขาใช้วิธีสาธารณะเป็นค่าเริ่มต้น
ฉันสามารถสืบทอดหลายอินเทอร์เฟซได้หรือไม่
แน่นอน.
แล้วถ้ามีชื่อวิธีการซ้ำกันในอินเทอร์เฟซเหล่านี้ล่ะ?
ในกรณีนี้ คุณสามารถตัดสินใจได้ว่าจะนำไปใช้อย่างไร แน่นอนว่าคุณต้องระวังให้มาก แต่ไม่มีปัญหาในขั้นตอนการคอมไพล์
ความแตกต่างระหว่างอินเทอร์เฟซและคลาสนามธรรมคืออะไร?
วิธีการทั้งหมดในอินเทอร์เฟซจะต้องเป็นนามธรรม และไม่สามารถระบุตัวแก้ไขการเข้าถึงวิธีการได้ คลาสนามธรรมสามารถมีการนำเมธอดไปใช้และยังสามารถระบุตัวแก้ไขการเข้าถึงสำหรับเมธอดได้ด้วย
จะแยกแยะวิธีการโอเวอร์โหลดได้อย่างไร?
ประเภทพารามิเตอร์ที่แตกต่างกัน หมายเลขพารามิเตอร์ที่แตกต่างกัน และลำดับพารามิเตอร์ที่แตกต่างกัน
ความแตกต่างระหว่าง const และอ่านอย่างเดียวคืออะไร?
คีย์เวิร์ด const ใช้เพื่อประกาศค่าคงที่เวลาคอมไพล์ และใช้แบบอ่านอย่างเดียวเพื่อประกาศค่าคงที่รันไทม์
ความแตกต่างระหว่าง System.String และ System.StringBuilder คืออะไร?
System.String เป็นสตริงที่ไม่เปลี่ยนรูป System.StringBuilder เก็บสตริงตัวแปรและจัดเตรียมวิธีการบางอย่างสำหรับการแก้ไขสตริงนี้
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx
-