Skip to main content

คลาสซ้อนคืออะไร?

ในการเขียนโปรแกรมเชิงวัตถุ (OOP) คลาสซ้อนกันคือคลาสที่มีอยู่ภายในคลาสอื่นอย่างสมบูรณ์ภาษาคอมพิวเตอร์ที่หลากหลายมีการสนับสนุนโครงสร้างที่มุ่งเน้นวัตถุนี้รวมถึง C ++ และภาษาการเขียนโปรแกรม Javaหากคลาสซ้อนกันไม่ได้ประกาศแบบคงที่ก็สามารถเรียกได้ว่าเป็นคลาสชั้นในคลาสสามารถมีคลาสชั้นในจำนวนใดก็ได้และแต่ละชั้นเรียนภายในยังสามารถมีคลาสชั้นในของตัวเองชั้นเรียนที่ซ้อนกันมีประโยชน์มาก แต่พวกเขายังสามารถสร้างโครงสร้างคลาสที่ซับซ้อนได้อย่างรวดเร็วดังนั้นจึงเป็นการดีที่สุดสำหรับพวกเขาที่จะใช้เป็นส่วนหนึ่งของแผนอย่างรอบคอบเพื่อที่พวกเขาจะไม่ซับซ้อนโดยไม่จำเป็นฟังก์ชั่นหรือตัวแปรกลุ่มเล็ก ๆ ที่มีประโยชน์สำหรับคลาสเฉพาะอื่นตัวอย่างเช่นหาก Class A มีกลุ่มของวิธีการที่ใช้เฉพาะวิธีการเหล่านี้สามารถจัดกลุ่มเป็นคลาสภายในคลาส B ภายในคลาสด้านในสามารถเข้าถึงตัวแปรและวิธีการชั้นนอกและวิธีการในขณะที่รักษาตัวแปรหรือค่าคงที่ของตัวเองตามความจำเป็นคลาสที่ซ้อนกันสามารถใช้เป็นโครงสร้างที่ใช้งานได้หรือองค์กรในขณะที่มันมีประโยชน์ในการห่อหุ้มฟังก์ชันการทำงาน แต่ก็มีประโยชน์เท่ากันเป็นเครื่องมือขององค์กรการใช้คลาสชั้นในในอุดมคติจะจัดกลุ่มฟังก์ชั่นที่เกี่ยวข้องเข้าด้วยกันและจัดระเบียบรหัสเพื่อความสามารถในการอ่านและความเข้าใจที่ง่ายขึ้น

การแสดงความคิดเห็นควรทำในชั้นเรียนที่ซ้อนกันเช่นเดียวกับที่ทำในชั้นนอกมันเป็นเรื่องง่ายสำหรับผู้เริ่มต้นที่จะสร้างความสับสนให้กับชั้นเรียนภายในด้วยวิธีการและลืมสิ่งนี้เมื่อแสดงความคิดเห็นคลาสซ้อนกันมันเป็นการดีที่สุดที่จะคิดว่าเป็นชั้นเรียนระดับบนสุดและแสดงความคิดเห็นตามนั้นความคิดเห็นในชั้นเรียนภายในยังให้โอกาสสำหรับโปรแกรมเมอร์เพื่อชี้แจงฟังก์ชั่นชั้นในและเหตุผลที่อยู่เบื้องหลังรูปแบบองค์กรคลาสภายในหลายชั้นสามารถมีอยู่ภายในชั้นนอกเดียวดังนั้นจึงเป็นสิ่งสำคัญอย่างยิ่งสำหรับโปรแกรมเมอร์ที่จะแสดงความคิดเห็นแต่ละอันอย่างชัดเจน

หากคลาสซ้อนกันไม่ได้ประกาศแบบคงที่อินสแตนซ์ของคลาสด้านนอกจะต้องสร้างขึ้นอย่างชัดเจนก่อนอินสแตนซ์ของอินสแตนซ์ของคลาสภายในถูกสร้างขึ้นสำหรับชั้นเรียนภายในที่ประกาศคงที่สิ่งนี้ไม่เป็นความจริงคลาสซ้อนกันแบบคงที่มักจะสามารถสร้างขึ้นได้ด้วยการกดแป้นน้อยลงและอาจมีขอบเขตที่กว้างกว่าคลาสภายในที่เรียบง่ายดังนั้นคลาสซ้อนกันแบบคงที่จึงมีประโยชน์สำหรับการสร้างวิธีการเข้าถึงยูทิลิตี้ที่ง่ายต่อการเข้าถึงเช่นโรงงานหรือวิธีการที่มีตัวเองในตัวเอง

มันมักจะเป็นประโยชน์สำหรับนักพัฒนาเมื่อคลาสซ้อนกันถูกอธิบายโดยใช้ภาษาการสร้างแบบจำลองแบบรวมการสร้างแบบจำลองภาษาแบบครบวงจรมีคำอธิบายประกอบและแสดงโครงสร้างคลาสและพฤติกรรมในรูปแบบที่ไม่คลุมเครือซึ่งมักใช้ไดอะแกรมคลาสซ้อนกันจะได้รับคำอธิบายอิสระจากชั้นนอกที่พวกเขาอาศัยอยู่ดังนั้นจึงเป็นเรื่องง่ายมากสำหรับการทำงานและวิเคราะห์การทำงานของพวกเขาแม้ว่าจะไม่จำเป็นสำหรับชั้นเรียนที่ซ้อนกันจะมีคำอธิบายประกอบในลักษณะนี้ แต่มักจะดีกว่าสำหรับโปรแกรมเมอร์ที่จะทำผิดพลาดในด้านของรายละเอียดที่มากขึ้น