คอมพิวเตอร์การเขียนโปรแกรม

Encapsulation - นี่คืออะไร? Encapsulation ในการเขียนโปรแกรม

Encapsulation - นี้เป็นหนึ่งในสามของคุณสมบัติหลักของ การเขียนโปรแกรมเชิงวัตถุ (OOP) อีกสอง - ความแตกต่างและเป็นมรดก พวกเขาช่วยกันทำขึ้นในกรอบ PLO ซึ่งวางลงช่วงของคุณสมบัติของการเขียนโปรแกรมในภาษาที่แตกต่างกันโดยใช้หลักการทั้งสาม ภาษาเชิงวัตถุในทางกลับกันมีหน้าที่ที่จะปฏิบัติตามอย่างเคร่งครัดพวกเขา

ข้อมูลพื้นฐานเกี่ยวกับ OOP

เขียนโปรแกรมเชิงวัตถุในสามเสาหลักของการสร้าง:

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

คำศัพท์

Encapsulation (การเขียนโปรแกรม) - คือการใช้การปรับเปลี่ยนการเข้าถึงเพื่อปกปิดชิ้นส่วนของรหัสจากผู้ใช้ ใต้มันในที่สุดก็หมายความว่านักพัฒนาซอฟต์แวร์หรือมรดกทางเว็บไซต์

สาระสำคัญของแนวคิดของ "encapsulation ที่"

คำนิยามที่ระบุว่าโดยการห่อหุ้มความหมายที่ซ่อนตัวอยู่ทั้งหมดหรือบางส่วนของรหัสโปรแกรม สาระสำคัญของแนวคิดของ "encapsulation" คือการจัดการกับการปรับเปลี่ยนการเข้าถึง ซึ่งหมายความว่านักพัฒนาสามารถตัดสินใจว่าคุณสมบัติวิธีการและชั้นเรียนจะเปิดให้ลูกค้าชั้นเรียนและสิ่งที่ - ถูกซ่อนไว้

การปรับเปลี่ยนการเข้าถึง

มีการปรับเปลี่ยนการเข้าถึงซึ่งเหนือสิ่งอื่นใดคือความสามารถในการ manipulyarivat encapsulation (การเขียนโปรแกรม Java) มีดังนี้:

  • สาธารณะ ( "สาธารณะ" - ประชาชนเข้าถึงเปิด) - หุ้นทั้งการเรียนในปัจจุบันและวัตถุและกับโลกภายนอก;
  • ส่วนตัว ( "prayvat" - ส่วนตัวส่วนตัวซ่อนเข้าถึง) - ปิดการเข้าถึงสาระสำคัญของการที่จะสมบูรณ์ตรงข้ามของหนึ่งก่อนหน้านี้ จะให้การเข้าถึงเฉพาะจากระดับปัจจุบัน
  • การป้องกัน ( "protekted" - การป้องกันการเข้าถึงครึ่งซ่อนไว้) - การเข้าถึงชั้นในปัจจุบันและอนุพันธ์;
  • เริ่มต้น - ปรับปรุงการเข้าถึงที่ไม่ระบุหมายความว่าข้อมูล / วิธีการสามารถมองเห็นได้ทุกชั้นเรียนปัจจุบันในแพคเกจ

ในภาษา C # ( "ศรีชาร์ป") นอกเหนือไปจากข้างต้น (ยกเว้นที่ผ่านมา) ยังคงมีการปรับเปลี่ยน:

  • ภายใน ( "ภายใน" - การเข้าถึงภายใน) - การเข้าถึงในการชุมนุมในปัจจุบันการเข้าถึงในร่มกรณีอื่น ๆ ;
  • ภายในได้รับการป้องกัน ( "ภายใน protekted" - Protected Access ภายใน) - สหภาพของทั้งสองการปรับเปลี่ยนในหนึ่งในคุณสมบัติที่ประจักษ์ของทั้งสองของพวกเขา

บทบาทของการห่อหุ้ม

กลไกการห่อหุ้มจะช่วยลดอิทธิพลภายนอกในรหัสและผิดของข้อมูลที่ฝังตัวอยู่ในนั้น นี้สามารถทำได้โดยการรวมรหัสและข้อมูลที่เป็นหนึ่ง

วัตถุและห่อหุ้ม

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

ข้อได้เปรียบของการห่อหุ้ม

Encapsulation - วิธีที่จะลดความซับซ้อนของการเข้ารหัสที่ หลายเส้นของรหัสที่อยู่ "เบื้องหลัง" และในการทำงานระดับหลักเป็นไปเพื่อคัดค้านกรณี

ความคิดของการป้องกันข้อมูล

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

หน่วย encapsulation

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

นอกจากนี้ยังใช้คำศัพท์ต่อไปนี้:

  • สมาชิก - นี้เป็นรหัสและข้อมูลที่รวมอยู่ในชั้นเรียน;
  • เขตหรือตัวแปรเช่น - ข้อมูลที่เรียกว่าที่กำหนดชั้น;
  • ฟังก์ชั่นสมาชิก - พวกเขามีรหัสของตัวเอง ฟังก์ชั่นสมาชิก - ชื่อสามัญ เป็นกรณีพิเศษ - วิธีการ

ตัวอย่างที่เฉพาะเจาะจง encapsulation

Encapsulation (การเขียนโปรแกรม) ตัวอย่างเช่น:

* หมายเหตุ:

คำอธิบาย - รายละเอียดของวิธีการ / คุณสมบัติ / ตัวแปรคือการแสดงความคิดเห็นเกี่ยวกับสิ่งที่เกิดขึ้นจริงในโปรแกรม มันจะแสดงให้เห็นโดยใช้วิธีการเปิด / ปิดแท็ก

การใช้ระบบ

OOPLibrary.Auto namespace

{

///

/// ระดับนี้มีวัตถุประสงค์เพื่ออธิบายการกระทำของรถ

///

รถยนต์คลาสที่สาธารณะ

{

///

/// ตัวแปรที่สร้างขึ้นเพื่อที่จะเขียนในนั้นกี่ปีรถยนต์ตั้งแต่การรบกวนจากภายนอกในการพัฒนาอสังหาริมทรัพย์จะพิจารณาฟุ่มเฟือย

/// ปรับปรุงมีการทำเครื่องหมายส่วนตัวนั่นคือการปิดการเข้าถึงส่วนตัว (ดู. คำอธิบายข้างต้น)

///

_age int เอกชน

///

/// บูลีน (เพียงสองค่าที่เป็นไป - ใช่หรือไม่) ซึ่งอธิบายว่ารถที่มีการเคลื่อนไหวในขณะนี้

/// นอกจากนี้ยังควรจะเปิดให้ผู้ใช้ที่ใครก็ตามที่เขาเป็น ดังนั้นตัวแปรนี้มีการกำหนดปรับปรุงการเข้าถึงเอกชน "prayvat"

///

_isMoving บูลส่วนตัว

///

/// ตัวแปรสตริงนี้ควรมีข้อมูลเกี่ยวกับสีของรถ มันสามารถเปลี่ยนแปลงได้โดยอิทธิพลภายนอก

/// เพราะการเข้าถึงเปิดเลือกปรับแต่งสี "สาธารณะ"

///

สาธารณะสีสตริง;

///

/// ในกรณีนี้โดยเฉพาะอย่างยิ่งเราคิดว่าชื่อของรถก็สามารถเปลี่ยนแปลงได้

/// มอบหมายปรับปรุงของประชาชน (เปิดสำหรับทุกคนโดยไม่คำนึงถึงชั้นเรียนหรือประกอบ)

///

ชื่อสตริงสาธารณะ

///

/// เปิดตัวสร้างชั้นเรียนและคุณสมบัติทั้งหมดของตัวแปรแสดงและการตั้งค่าเล็กน้อยก่อนหน้านี้ได้รับค่าของพวกเขา

///

รถยนต์สาธารณะ ()

{

_age = 5;

_isMoving = false;

color = "สีม่วง";

name = "Skoda Octavia";

}

///

/// วิธีการตระหนักถึงมูลค่าการกลับมาของอายุอัตโนมัติ นี่คือเหตุผลที่จำเป็น?

/// ปรับปรุงการเข้าถึงส่วนตัวไม่ได้ทำให้มันเป็นไปได้สำหรับการเปลี่ยนแปลงของลูกค้า

///

/// ส่งกลับอายุของรถ

สตริงสาธารณะ GetAge ()

{

กลับ "ในขณะที่เครื่องที่เลือก" + _age + "ปี.";

}

///

/// ถ้ารถไม่ได้เคลื่อนย้ายวิธีการนี้ดำเนินการเริ่มต้นของการเคลื่อนไหว ตรวจสอบ oboznalsya ตัวแปรสภาพของยานพาหนะ (การเดินทางหรือไม่) และขึ้นอยู่กับผลการดำเนินการที่เหมาะสม / ข้อความจะปรากฏ

///

โมฆะสาธารณะเริ่มต้น ()

{

ถ้า (_isMoving)

{

Console.WriteLine ( "การเคลื่อนไหวได้รับการเริ่มต้นแล้ว");

}

อื่น

{

_isMoving = true;

Console.WriteLine ( "Ready, Set .. ไปออก!");

}

}

///

/// หากการเคลื่อนไหวได้ริเริ่มวิธีนี้เขาหยุด ตรรกะโปรแกรมเช่นเดียวกับในกรณีก่อนหน้านี้ถือว่า

///

โมฆะสาธารณะหยุด ()

{

ถ้า (_isMoving)

{

_isMoving = false;

Console.WriteLine ( "เครื่องหยุด");

}

อื่น

{

Console.WriteLine ( "รถข้อผิดพลาดและเพื่อยืนยังไม่ย้าย");

}

}

///

/// ดำเนินเลี้ยวซ้ายถ้ามียานพาหนะ

///

โมฆะสาธารณะ MoveLeft ()

{

ถ้า (_isMoving)

{

Console.WriteLine ( "เลี้ยวซ้ายจะทำ");

}

อื่น

{

Console.WriteLine ( "รถข้อผิดพลาดเป็นคุณลักษณะหมุนนิ่งอยู่ในขณะนี้ไม่สามารถใช้ได้.");

}

}

///

/// วิธีการคล้ายกับการเปิดทางด้านขวา

///

โมฆะสาธารณะ MoveRight ()

{

ถ้า (_isMoving)

{

Console.WriteLine ( "เลี้ยวขวาได้รับการดำเนินการเรียบร้อยแล้ว");

}

อื่น

{

Console.WriteLine ( "ข้อผิดพลาดในรถยังไม่ได้ย้ายจากจุดเลี้ยวขวามันเป็นในขณะนี้การดำเนินการเป็นไปไม่ได้ที่จะดำเนินการ ..");

}

}

}

}

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 th.birmiss.com. Theme powered by WordPress.