นามธรรมใน C ++ คืออะไร? ด้วยตัวอย่างชีวิตจริงและการนำไปปฏิบัติ

เผยแพร่แล้ว: 2021-05-19

Object-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. การใช้ไฟล์ส่วนหัว

แหล่งที่มา

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 หมายถึงการซ่อนรายละเอียดการใช้งาน และให้รหัสไคลเอ็นต์ทำงานกับอินเทอร์เฟซระดับสูง