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

ความแตกต่างระหว่างวัตถุและคลาสใน C ++


ในบทความนี้ เราจะเข้าใจความแตกต่างระหว่างอ็อบเจกต์และคลาสที่เกี่ยวกับภาษาการเขียนโปรแกรม C++

คลาสในภาษา C++

  • เป็นหน่วยการสร้างของโค้ดใน C++ ที่ช่วยปรับใช้การเขียนโปรแกรมเชิงวัตถุ
  • เป็นประเภทที่กำหนดโดยผู้ใช้
  • มีข้อมูลสมาชิกและฟังก์ชันสมาชิกของตัวเอง
  • เข้าถึงข้อมูลสมาชิกและฟังก์ชันของสมาชิกได้โดยการสร้างอินสแตนซ์ของคลาส
  • สามารถใช้เพื่อจัดการตัวแปรและใช้เพื่อกำหนดคุณสมบัติเพื่อบอกว่าวัตถุในชั้นเรียนต้องดำเนินการอย่างไร
  • สามารถเข้าใจได้ว่าเป็นพิมพ์เขียวสำหรับวัตถุ
    • ตัวอย่าง:พิจารณาชั้นเรียนของพนักงาน อาจมีคุณลักษณะหลายอย่าง เช่น ชื่อพนักงาน อายุ วันเดือนปีเกิด ตำแหน่ง และอื่นๆ
    • เรียกว่าสมาชิกข้อมูล
    • ฟังก์ชันของสมาชิกอาจเป็น 'draw_salary', 'get_promotion' ซึ่งดำเนินการบางอย่างเกี่ยวกับออบเจกต์ของคลาส
    • สิ่งเหล่านี้จะเป็นทรัพย์สินทั่วไปที่พนักงานทุกคนใช้ร่วมกัน
  • ถูกกำหนดโดยใช้คำสำคัญ 'คลาส'
  • ตามด้วยชื่อของคลาส
  • เนื้อหาของคลาสถูกกำหนดไว้ในวงเล็บดอกไม้ และสิ้นสุดโดยใช้เครื่องหมายอัฒภาค
class class_name {
   body_of_class
};

วัตถุใน C++

  • อ็อบเจกต์คือตัวอย่างของคลาส
  • เมื่อมีการกำหนดคลาส หน่วยความจำจะไม่ถูกจัดสรรให้กับคลาสนั้น
  • ในขณะที่สร้างวัตถุ หน่วยความจำจะได้รับการจัดสรรให้กับแอตทริบิวต์ทั้งหมดของชั้นเรียน
  • เมื่อมีการกำหนดคลาส ความเฉพาะเจาะจงของวัตถุจะถูกกำหนด
  • หากจำเป็นต้องนำคลาสนั้นไปใช้และจำเป็นต้องดำเนินการ จะต้องสร้างวัตถุ
  • ต้องสร้างวัตถุอย่างชัดเจนโดยใช้ไวยากรณ์ด้านล่าง
class_name object_name;
  • สมาชิกข้อมูลและฟังก์ชันสมาชิกของคลาสสามารถเข้าถึงได้โดยอ็อบเจ็กต์โดยใช้ตัวดำเนินการจุด ('.')
    • ตัวอย่าง:สมมติว่ามีการสร้างคลาสด้วยแอตทริบิวต์ที่จำเป็นและฟังก์ชันของสมาชิก
    • เมื่อสร้างอ็อบเจ็กต์ที่เกี่ยวกับคลาสนั้นแล้ว ฟังก์ชันของสมาชิกสามารถเข้าถึงได้ด้วยวิธีด้านล่าง:
object_name.member_function()
  • สมาชิกข้อมูลที่มีลักษณะเป็นสาธารณะสามารถเข้าถึงได้ในลักษณะเดียวกันดังที่แสดงไว้ด้านบน นั่นคือการใช้ '.' โอเปอเรเตอร์
  • สมาชิกสาธารณะคือสมาชิกที่กำหนดโดยใช้คำหลัก 'สาธารณะ'
  • สมาชิกส่วนตัวคือสมาชิกที่กำหนดโดยใช้คำหลัก 'ส่วนตัว'
  • วัตถุไม่สามารถเข้าถึงสมาชิกเหล่านี้ได้โดยตรง
  • คีย์เวิร์ด "สาธารณะ" "ส่วนตัว" และ "มีการป้องกัน" เรียกว่าการควบคุมการเข้าถึงข้อมูลของสมาชิก
  • ฟังก์ชันของสมาชิกที่กำหนดไว้ภายในคลาสจะถือว่าเป็นแบบอินไลน์โดยค่าเริ่มต้น
  • ฟังก์ชันอินไลน์คือฟังก์ชันที่ขยายทันทีหลังจากกำหนดฟังก์ชันแล้ว พวกมันจะถูกคัดลอกทุกที่เมื่อมีการคอมไพล์โค้ด (คล้ายกับมาโคร) ซึ่งหมายความว่าค่าใช้จ่ายในการเรียกใช้ฟังก์ชันจะลดลง
  • ฟังก์ชันที่ไม่ใช่คลาสใดๆ สามารถสร้างเป็นฟังก์ชันอินไลน์ได้โดยการแนบคีย์เวิร์ด 'inline' เข้าไป