Latest web development tutorials
×

C++ หลักสูตร

C++ หลักสูตร C++ แนะนำโดยย่อ C++ การตั้งค่าสภาพแวดล้อม C++ ไวยากรณ์พื้นฐาน C++ หมายเหตุ C++ ชนิดข้อมูล C++ ประเภทตัวแปร C++ ขอบเขตตัวแปร C++ คงที่ C++ ประเภทการปรับเปลี่ยน C++ ประเภทการจัดเก็บ C++ ผู้ประกอบการ C++ การไหลเวียน C++ ผู้พิพากษา C++ ฟังก์ชัน C++ ดิจิตอล C++ แถว C++ เชือก C++ ชี้ C++ อ้างอิง C++ วันที่และเวลา C++ เอาท์พุทหรือ Basic Input C++ โครงสร้างข้อมูล

C++ เชิงวัตถุ

C++ คลาสและวัตถุ C++ สืบทอด C++ ผู้ประกอบการมากเกินไปและการทำงานมากเกินไป C++ polymorphism C++ ข้อมูลที่เป็นนามธรรม C++ ข้อมูล encapsulation C++ อินเตอร์เฟซ(ระดับนามธรรม)

C++ การสอนที่ทันสมัย

C++ แฟ้มและสตรีม C++ การจัดการข้อยกเว้น C++ หน่วยความจำแบบไดนามิก C++ namespaces C++ แบบ C++ preprocessor C++ การประมวลผลสัญญาณ C++ multithreading C++ Web โครงการ

C++ กรุ

C++ STL หลักสูตร C++ ห้องสมุดมาตรฐาน C++ ทรัพยากรที่มีประโยชน์

c ++ ข้อมูล encapsulation

ยี่ห้อ C ++ โปรแกรมมีสององค์ประกอบพื้นฐาน:

  • งบ Program (รหัส): นี่คือส่วนหนึ่งของโปรแกรมเพื่อดำเนินการที่พวกเขาจะเรียกว่าฟังก์ชั่น
  • โปรแกรมข้อมูล: ข้อมูลเป็นข้อมูลของโปรแกรมฟังก์ชั่นโปรแกรมจะได้รับผลกระทบ

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

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

โดยการสร้าง c ++สนับสนุนระดับ encapsulation และข้อมูลที่ซ่อนตัว (ประชาชนป้องกันเอกชน)เรารู้อยู่แล้วว่าชั้นมีสมาชิกส่วนตัว (ส่วนตัว) เพื่อปกป้องสมาชิกของ (ป้องกัน) และสมาชิกของสมาชิกสาธารณะ (สาธารณะ) โดยค่าเริ่มต้นรายการทั้งหมดที่กำหนดไว้ในชั้นเรียนจะเป็นส่วนตัว ตัวอย่างเช่น:

class Box
{
   public:
      double getVolume(void)
      {
         return length * breadth * height;
      }
   private:
      double length;      // 长度
      double breadth;     // 宽度
      double height;      // 高度
};

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

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

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

ตัวอย่างของแพคเกจข้อมูล

โปรแกรม c ++ ชั้นใด ๆ กับสมาชิกของข้อมูลภาครัฐและเอกชนสามารถนำมาใช้เป็นตัวอย่างของการห่อหุ้มและนามธรรมข้อมูล พิจารณาตัวอย่างต่อไปนี้:

#include <iostream>
using namespace std;

class Adder{
   public:
      // 构造函数
      Adder(int i = 0)
      {
        total = i;
      }
      // 对外的接口
      void addNum(int number)
      {
          total += number;
      }
      // 对外的接口
      int getTotal()
      {
          return total;
      };
   private:
      // 对外隐藏的数据
      int total;
};
int main( )
{
   Adder a;
   
   a.addNum(10);
   a.addNum(20);
   a.addNum(30);

   cout << "Total " << a.getTotal() <<endl;
   return 0;
}

เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:

Total 60

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

กลยุทธ์การออกแบบ

ภายใต้สถานการณ์ปกติเราจะตั้งค่าสถานะสมาชิกระดับเอกชน (Private)เว้นแต่ว่าเราต้องการจริงๆที่จะได้สัมผัสเพื่อให้มั่นใจว่าการห่อหุ้มที่ดี

นี้มักจะนำไปใช้กับข้อมูลสมาชิก แต่มันเป็นอย่างเท่าเทียมกันที่ใช้บังคับกับสมาชิกทุกคนรวมทั้งฟังก์ชั่นเสมือนจริง