นามธรรมใน C ++ คืออะไร? ด้วยตัวอย่างชีวิตจริงและการนำไปปฏิบัติ
เผยแพร่แล้ว: 2021-05-19Object-Oriented Programming (OOP) เป็นกระบวนทัศน์ การเขียนโปรแกรมที่ได้รับความนิยมมากที่สุดและเป็นวิธีมาตรฐานในการเขียนโค้ดสำหรับโปรแกรมเมอร์ OOP ทำงานบนแนวคิดของคลาสและอ็อบเจ กต์ มันจัดโครงสร้างโปรแกรมซอฟต์แวร์เป็นโค้ดที่เรียบง่ายและนำกลับมาใช้ใหม่ได้ ซึ่งเรียกว่าคลาส เพื่อสร้างอ็อบเจ็กต์แต่ละรายการ C++ เป็นภาษาโปรแกรมเชิงวัตถุ และ สิ่งที่เป็นนามธรรมใน C++ เป็น หนึ่งในคุณสมบัติ C++ ที่สำคัญที่สุดและเป็นจุดเด่นของบทความนี้
การเขียนโปรแกรมเชิงวัตถุมีขึ้นเพื่อเพิ่มความยืดหยุ่นของโปรแกรม ในบทความนี้ คุณจะได้เรียนรู้เกี่ยวกับวิธีการดำเนินการ data abstraction ในโปรแกรม C++ ควบคู่ไปกับประโยชน์ของการทำ
สารบัญ
การแยกข้อมูลใน C ++
Abstraction มาจากคำภาษาละตินสองคำ 'abs' ซึ่งหมายถึง 'ห่างจาก' และ 'traction' ซึ่งหมายถึง 'การวาด' หมายถึงการแสดงคุณลักษณะที่จำเป็นโดยไม่ต้องรวมรายละเอียดทั้งหมด
คลาส C++ ดำเนินการนามธรรมด้วยรายการแอตทริบิวต์ที่เป็นนามธรรม เช่น ฟังก์ชัน พวกเขาใส่คุณสมบัติที่จำเป็นทั้งหมดของวัตถุที่จะสร้าง แอตทริบิวต์ เรียกว่าสมาชิกข้อมูลและฟังก์ชันที่ทำงานเกี่ยวกับพวกเขาเรียกว่าฟังก์ชันสมาชิก คลาส C ++ โดยใช้แนวคิด data abstraction เรียกว่าประเภทข้อมูลนามธรรม
แหล่งที่มา
ขณะใช้คลาส สมาชิกข้อมูลและฟังก์ชันสมาชิกจะแสดงในโค้ด แต่ชนิดข้อมูลในตัวและสมาชิกในคลาสจะถูกละเว้นในขณะที่ใช้วัตถุที่เรียกว่า data abstraction

โปรแกรมเพื่อแสดงให้เห็นถึงนามธรรมใน C++
#include <iostream.h>
#include <conio.h>
ผลรวม คลาส
{
// การแยกข้อมูล
ส่วนตัว : int x,y,z;
สาธารณะ :
เป็นโมฆะ เพิ่ม ()
{
clrscr();
cout<< “ใส่เลขสองตัว: “ ;
cin>>x>>y;
z=x+y;
cout<< "ผลรวมของตัวเลข:" <<z;
}
};
เป็นโมฆะ หลัก ()
{
ผลรวม s;
s.add();
getch();
}
เอาท์พุต
ใส่ตัวเลขสองตัว:
22
23
ผลรวมของตัวเลข: 45
ตัวอย่างในชีวิตจริงที่แสดงให้เห็นสิ่งที่เป็น นามธรรม
สิ่งที่เป็นนามธรรมคือคุณลักษณะของ Object-Oriented Programming ซึ่งจะแสดงเฉพาะรายละเอียดที่เกี่ยวข้องให้ผู้ใช้เห็นและรายละเอียดที่ไม่เกี่ยวข้องจะถูกซ่อนไว้
คุณสามารถเข้าใจ Abstraction ใน C ++ ด้วยตัวอย่างเหล่านี้
เมื่อส่งอีเมล คุณเพียงแค่คลิกส่ง คุณจะได้รับใบเสร็จที่ส่ง สิ่งที่เป็นนามธรรมที่นี่คือข้อมูลที่ถ่ายโอนไปยังผู้รับ
คุณสมบัติที่สำคัญของโทรศัพท์ได้แก่ การ์ดหน่วยความจำ ซิม อายุการใช้งานแบตเตอรี่ การออกแบบ และโปรเซสเซอร์ ขณะใช้งานโทรศัพท์ คุณจะไม่ได้รับรายละเอียดการทำงานของโทรศัพท์ เช่น การจัดสรรหน่วยความจำ CPU สำหรับสื่อต่างๆ ที่คุณมองไม่เห็น คุณสามารถใช้ได้เฉพาะคำสั่งและปุ่มบางอย่างบนโทรศัพท์ของคุณโดยที่ไม่รู้ว่าเกิดอะไรขึ้นในโทรศัพท์ของคุณ
ผู้ชายที่ขับรถรู้ดีว่าการเหยียบคันเร่งจะเพิ่มความเร็วของรถ แต่เขาไม่รู้วิธี ซึ่งไม่มีอะไรเลยนอกจากสิ่งที่เป็นนามธรรม
การนำ Data Abstraction ไปใช้ใน C++
C ++ เป็นวิธีการเขียนโปรแกรมเชิงวัตถุ การแยกข้อมูล ใน C ++ ดำเนินการในสองวิธี:
- การใช้คลาสและอ็อบเจกต์
- การใช้ไฟล์ส่วนหัว
แหล่งที่มา
1. การใช้คลาสและออบเจกต์
เราสามารถเลือกที่จะสรุปข้อมูลเฉพาะของสมาชิกหรือฟังก์ชันของสมาชิกเพื่อให้สามารถเข้าถึงได้ภายนอกคลาส หรือไม่ใช้ตัวระบุการเข้าถึงแบบสาธารณะ ส่วนตัว หรือแบบมีการป้องกันด้วยความช่วยเหลือของคลาส

2. การใช้ไฟล์ส่วนหัว
ไฟล์ส่วนหัวมีฟังก์ชันไลบรารี inbuilt ที่เชื่อมโยงกับไฟล์ส่วนหัวนั้น สำหรับไฟล์ส่วนหัว #include<string.h> โปรแกรมเมอร์สามารถเข้าถึงฟังก์ชัน strcpy() และ strlen() และอื่นๆ อีกมากมาย
โปรแกรม:
ให้เราดูที่โปรแกรม C++ อย่างง่ายเพื่อทำความเข้าใจนามธรรมโดยใช้คลาส วัตถุ และไฟล์ส่วนหัว:
#include <iostream>
ใช้เนมสเปซ std;
คลาสนามธรรม
{
// ส่วนตัว
int num1, num2;
สาธารณะ:
// ในการเข้าถึงสมาชิกส่วนตัว
อินพุตเป็นโมฆะ (int n1, int n2)
{
num1 = n1;
num2 = n2;
}
ผลรวมเป็นโมฆะ ()
{
cout<<” ผลรวมคือ:” << num1+num2 << endl;
}
};
int หลัก ()
{
cout<<" ข้อมูล ที่เป็นนามธรรมใน C ++ "<<endl;
นามธรรม a;
ก. อินพุต (11, 18);
ก.sum();
กลับ 0;
}
เอาท์พุต
การแยก ข้อมูล ใน C ++
ผลรวมคือ:29
ประโยชน์ของนามธรรมใน C++
ไม่มีการปฏิเสธความจริงที่ว่า นามธรรมใน C ++ เป็นแนวคิดการเขียนโปรแกรมที่เป็นประโยชน์ ให้เราพูดถึงประโยชน์บางประการอย่างชัดเจน:
ช่วยเพิ่มความสามารถในการใช้รหัสซ้ำและการแบ่งคลาสโดยหลีกเลี่ยงความ ซ้ำซ้อน ใดๆ
ช่วยเพิ่มความสามารถในการอ่านโค้ดโดยขจัดการทำงานที่ซับซ้อนของโค้ดทำให้เข้าใจได้ง่าย
ภายในของคลาสได้รับการปกป้องจากข้อผิดพลาดระดับผู้ใช้โดยไม่ได้ตั้งใจ
นามธรรมใน C ++ เป็นแนวทางในการเขียนโค้ดระดับสูง
หลีกเลี่ยงการทำซ้ำโค้ดและโปรแกรมเมอร์ไม่ต้องทำงานทั่วไปทุกครั้งสำหรับการดำเนินการที่คล้ายคลึงกัน

สามารถปรับเปลี่ยนการใช้งานคลาสภายในได้อย่างอิสระโดยไม่กระทบต่อผู้ใช้
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
การ แยก ข้อมูล ใน C ++ เป็นวิธี การรักษาความปลอดภัยข้อมูลจากวิธีการที่ไม่ได้รับอนุญาต ในบทความนี้ เราพยายามอธิบายหนึ่งในแนวคิด C++ ที่สำคัญที่สุดที่ใช้กันอย่างแพร่หลายพร้อมกับการใช้งานและตัวอย่างในชีวิตจริงเพื่อความชัดเจนยิ่งขึ้น ไม่ใช่เรื่องยากสำหรับผู้เริ่มต้นที่มีความรู้เพียงเล็กน้อยหรือไม่มีเลยที่จะเข้าใจแนวคิดด้วยการฝึกฝน
หากคุณกำลังพิจารณา หลักสูตรวิทยาศาสตรมหาบัณฑิตสาขาวิทยาการคอมพิวเตอร์ ของ pGrad กระบวนการเรียนรู้จะราบรื่นยิ่งขึ้นสำหรับคุณ
เราหวังว่าคุณจะมีโอกาสเรียนรู้ที่ยอดเยี่ยมในการดำเนินโครงการ C++ เหล่านี้ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมและต้องการคำปรึกษาจากผู้เชี่ยวชาญในอุตสาหกรรม โปรดดู PG ระดับผู้บริหารของ Grad & IIIT Banglore ใน การพัฒนาซอฟต์แวร์แบบครบ วงจร
สิ่งที่เป็นนามธรรมใน C ++ คืออะไร?
สิ่งที่เป็นนามธรรมคือกระบวนการซ่อนรายละเอียดที่เกี่ยวข้องกับวัตถุประสงค์เฉพาะ นี่คือแนวคิดหลักของการเขียนโปรแกรมเชิงวัตถุ อนุญาตให้โปรแกรมเมอร์เขียนโค้ดที่กว้างกว่าปัญหาจริงที่กำลังแก้ไข ซึ่งช่วยในการลดขนาดของโค้ดและทำให้โค้ดง่ายขึ้น สิ่งที่เป็นนามธรรมยังช่วยให้คุณแก้ไขรหัสได้ในอนาคต โดยไม่ต้องเปลี่ยนรหัสเพื่อให้เหมาะกับความต้องการใหม่
อะไรคือเสาหลักของการเขียนโปรแกรมเชิงวัตถุ?
สิ่งที่เป็นนามธรรม: เราสามารถนึกถึงนามธรรมเป็นกระบวนการของการแยกชั้นต่างๆ ระหว่างรายละเอียดของการดำเนินการที่ซับซ้อนและรหัสที่ดำเนินการนี้ ความหลากหลาย: โดยพื้นฐานแล้วหมายความว่าการดำเนินการเดียวกันสามารถแสดงได้แตกต่างกันในบริบทที่แตกต่างกัน การสืบทอด: การสืบทอดนั้นเกี่ยวกับการใช้รหัสซ้ำ อินเทอร์เฟซ: อินเทอร์เฟซเป็นคำอธิบายระดับสูงของคลาส โดยพื้นฐานแล้วเป็นสัญญาที่ระบุวิธีการที่คลาสต้องมี องค์ประกอบ: องค์ประกอบคือทั้งหมดที่เกี่ยวกับการรวมออบเจ็กต์เข้าด้วยกันเพื่อให้เกิดการทำงานที่ซับซ้อนยิ่งขึ้น
จะบรรลุสิ่งที่เป็นนามธรรมใน C ++ ได้อย่างไร
สิ่งที่เป็นนามธรรมคือการดำเนินการตามแนวคิด สิ่งที่คุณทำเมื่อคุณใช้คลาสและฟังก์ชันจำนวนมากเพื่อแยกแนวคิดออกจากโค้ดที่นำไปใช้ ใน C++ สิ่งที่เป็นนามธรรมคือคลาส เทมเพลต หรือฟังก์ชัน ใน C ++ การทำ abstraction ทำได้หลายวิธี เช่น C++ มีหลายวิธีในการบรรลุ data abstraction หมายถึงการซ่อนรายละเอียดการใช้งาน และให้รหัสไคลเอ็นต์ทำงานกับอินเทอร์เฟซระดับสูง