แพ็กเกจ C #
แพคเกจถูกกำหนดให้เป็น "หนึ่งหรือมากกว่าหนึ่งรายการที่ปิดล้อมอยู่ในแพคเกจทางกายภาพหรือทางตรรกะ."วิธีการในการเขียนโปรแกรมเชิงวัตถุแพคเกจคือการป้องกันการเข้าถึงรายละเอียดการปฏิบัติ
นามธรรมและห่อหุ้มที่เกี่ยวข้องกับวัตถุที่มุ่งเน้นคุณสมบัติการเขียนโปรแกรม Abstractionช่วยให้ภาพของข้อมูลที่เกี่ยวข้องแพคเกจช่วยให้โปรแกรมเมอร์เพื่อให้บรรลุในระดับที่ต้องการของนามธรรม
แพคเกจการเข้าถึงการปรับเปลี่ยนเพื่อให้บรรลุปรับปรุงการเข้าถึงกำหนดขอบเขตและการมองเห็นของสมาชิกในชั้นเรียน C # สนับสนุนการปรับปรุงการเข้าถึงดังต่อไปนี้:
- สาธารณะ
- ส่วนตัว
- มีการป้องกัน
- ภายใน
- การป้องกันภายใน
ปรับปรุงการเข้าถึงของประชาชน
ปรับปรุงการเข้าถึงของประชาชนช่วยให้ระดับให้ตัวแปรสมาชิกและฟังก์ชั่นสมาชิกสัมผัสกับฟังก์ชั่นและวัตถุอื่น ๆ สมาชิกของรัฐใด ๆ ที่สามารถเข้าถึงได้นอกชั้นเรียน
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงจุดนี้:
การใช้ระบบ RectangleApplication namespace { ระดับสี่เหลี่ยมผืนผ้า { // ตัวแปรสมาชิกยาวคู่สาธารณะ ความกว้างคู่สาธารณะ GetArea คู่สาธารณะ () { กลับความยาวความกว้าง *; } โมฆะสาธารณะจอแสดงผล () { Console.WriteLine ( "ความยาว: {0}", ความยาว); Console.WriteLine ( "width: {0}" กว้าง); Console.WriteLine ( "ขนาด: {0}" GetArea ()); } } // สี่เหลี่ยมผืนผ้าระดับปลาย ExecuteRectangle { เป็นโมฆะคง main (String args []) { สี่เหลี่ยมผืนผ้า r = สี่เหลี่ยมผืนผ้าใหม่ (); r.length = 4.5; r.width = 3.5; r.Display (); Console.ReadLine (); } } }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
长度: 4.5 宽度: 3.5 面积: 15.75
ในตัวอย่างข้างต้นความยาวตัวแปรสมาชิกและความกว้างได้รับการประกาศให้เป็นสาธารณะเพื่อให้พวกเขาสามารถเป็นฟังก์ชั่นหลัก () ตัวอย่าง Rชั้นเยี่ยมชมสี่เหลี่ยมผืนผ้า
ฟังก์ชั่นสมาชิกเข้ามาดู ()และGetArea ()คุณสามารถเข้าถึงตัวแปรเหล่านี้ได้โดยตรง
ฟังก์ชั่นสมาชิกจอแสดงผล ()นอกจากนี้ยังได้รับการประกาศให้เป็นสาธารณะดังนั้นจึงยังสามารถเป็นหลัก () ตัวอย่างRชั้นเยี่ยมชมสี่เหลี่ยมผืนผ้า
ปรับปรุงการเข้าถึงส่วนตัว
ปรับปรุงการเข้าถึงเอกชนช่วยให้ระดับให้ตัวแปรสมาชิกและฟังก์ชั่นสมาชิกของเว็บไซต์เพื่อฟังก์ชั่นอื่น ๆ และวัตถุที่ซ่อนอยู่ เฉพาะในระดับเดียวกันของฟังก์ชั่นที่คุณสามารถเข้าถึงสมาชิกส่วนตัว แม้เช่นชั้นไม่สามารถเข้าถึงสมาชิกส่วนตัว
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงจุดนี้:
การใช้ระบบ RectangleApplication namespace { ระดับสี่เหลี่ยมผืนผ้า { // ตัวแปรสมาชิกยาวคู่ส่วนตัว ความกว้างคู่ส่วนตัว Acceptdetails โมฆะสาธารณะ () { Console.WriteLine ( "กรุณากรอกความยาว:"); ความยาว = Convert.ToDouble (Console.ReadLine ()); Console.WriteLine ( "กรุณากรอกความกว้าง:"); width = Convert.ToDouble (Console.ReadLine ()); } GetArea คู่สาธารณะ () { กลับความยาวความกว้าง *; } โมฆะสาธารณะจอแสดงผล () { Console.WriteLine ( "ความยาว: {0}", ความยาว); Console.WriteLine ( "width: {0}" กว้าง); Console.WriteLine ( "ขนาด: {0}" GetArea ()); } } // สี่เหลี่ยมผืนผ้าระดับ End ระดับ ExecuteRectangle { เป็นโมฆะคง main (String args []) { สี่เหลี่ยมผืนผ้า r = สี่เหลี่ยมผืนผ้าใหม่ (); r.Acceptdetails (); r.Display (); Console.ReadLine (); } } }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
กรุณากรอกความยาว: 4.4 กรุณากรอกความกว้าง: 3.3 ความยาว: 4.4 ความกว้าง: 3.3 พื้นที่: 14.52
ในตัวอย่างข้างต้นความยาวตัวแปรสมาชิกและความกว้างได้รับการประกาศให้เป็นส่วนตัวเพื่อให้พวกเขาไม่สามารถเป็นฟังก์ชั่นหลัก () ฟรี
AcceptDetailsสมาชิกฟังก์ชัน()และจอแสดงผล () คุณสามารถเข้าถึงตัวแปรเหล่านี้
ตั้งแต่AcceptDetailsสมาชิกฟังก์ชัน()และจอแสดงผล ()ถูกประกาศเป็นที่สาธารณะเพื่อให้พวกเขาสามารถเป็นหลัก ()ตัวอย่างRชั้นเยี่ยมชมสี่เหลี่ยมผืนผ้า
การป้องกันการปรับเปลี่ยนการเข้าถึง
การป้องกันการปรับเปลี่ยนการเข้าถึงอนุญาตให้ subclasses เข้าถึงตัวแปรสมาชิกและฟังก์ชั่นสมาชิกของชั้นฐาน นี้จะช่วยให้บรรลุมรดก เราจะหารือในรายละเอียดมากขึ้นในการรับมรดกส่วน เราจะหารือในรายละเอียดมากขึ้น
ปรับปรุงการเข้าถึงภายใน
ระบุการเข้าถึงภายในช่วยให้ระดับให้ตัวแปรสมาชิกและฟังก์ชั่นสมาชิกสัมผัสกับโปรแกรมปัจจุบันฟังก์ชั่นและวัตถุอื่น ๆ ในคำอื่น ๆ สมาชิกใด ๆ กับการปรับปรุงการเข้าถึงภายในสามารถกำหนดไว้ในระดับใด ๆ หรือวิธีการของสมาชิกตามที่กำหนดโดยการเข้าถึงแอพลิเคชัน
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงจุดนี้:
การใช้ระบบ RectangleApplication namespace { ระดับสี่เหลี่ยมผืนผ้า { // สมาชิกตัวแปรความยาวสองครั้งภายใน ความกว้างสองครั้งภายใน คู่ GetArea () { กลับความยาวความกว้าง *; } โมฆะสาธารณะจอแสดงผล () { Console.WriteLine ( "ความยาว: {0}", ความยาว); Console.WriteLine ( "width: {0}" กว้าง); Console.WriteLine ( "ขนาด: {0}" GetArea ()); } } // สี่เหลี่ยมผืนผ้าระดับ End ระดับ ExecuteRectangle { เป็นโมฆะคง main (String args []) { สี่เหลี่ยมผืนผ้า r = สี่เหลี่ยมผืนผ้าใหม่ (); r.length = 4.5; r.width = 3.5; r.Display (); Console.ReadLine (); } } }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
ความยาว: 4.5 ความกว้าง: 3.5 พื้นที่: 15.75
ในตัวอย่างข้างต้นทราบว่าGetAreaสมาชิกฟังก์ชัน()เมื่อคำสั่งโดยไม่ต้องปรับเปลี่ยนการเข้าถึงใด ๆถ้าคุณไม่ได้ระบุปรับปรุงการเข้าถึงการใช้คลาสปรับปรุงการเข้าถึงสมาชิกเริ่มต้นมีความเป็นส่วนตัว
การป้องกันการเข้าถึงปรับปรุงภายใน
การป้องกันการเข้าถึงปรับปรุงภายในจะช่วยให้ระดับให้ตัวแปรสมาชิกและฟังก์ชั่นสมาชิกของชั้นเรียนอื่น ๆ ของวัตถุและ subclass ภายในโปรแกรมเดียวกันอื่น ๆ กว่าจะซ่อน นอกจากนี้ยังจะใช้สำหรับการรับมรดก