วัตถุเปลี่ยนสถานะของพวกเขาผ่านวิธีการเปิดเผยและสื่อสารกับวิธีการเหล่านั้น ในทางตรงกันข้ามชั้นเรียนเป็นแบบพาสซีฟและไม่ส่งข้อความ แต่ใช้ในการสร้างวัตถุ คลาสยังเป็นที่รู้จักกันในนามชุดของวัตถุประเภทเดียวกัน ความแตกต่างที่สำคัญระหว่างวัตถุและคลาสยังแสดงอยู่ด้านล่างในแผนภูมิเปรียบเทียบ
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | วัตถุ | ชั้น |
---|---|---|
คำนิยาม | อินสแตนซ์ของคลาสเรียกว่า Object | แม่แบบหรือพิมพ์เขียวที่วัตถุถูกสร้างขึ้นจะเรียกว่าคลาส |
ประเภทกิจการ | กายภาพ | ตรรกะ |
การสร้าง | วัตถุถูกเรียกใช้โดยคำหลักใหม่ | คลาสถูกประกาศโดยใช้คีย์เวิร์ดคลาส |
การจัดสรรหน่วยความจำ | การสร้างวัตถุใช้หน่วยความจำ | การก่อตัวของคลาสไม่ได้จัดสรรหน่วยความจำ |
ความหมายของวัตถุ
วัตถุ เป็นตัวอย่างของคลาส วัตถุใน C ++ สามารถแสดงเป็นตัวแปรของประเภทข้อมูลที่ผู้ใช้กำหนดและบางครั้งก็เรียกว่าตัวแปรอินสแตนซ์ แต่ละวัตถุมีค่าที่เกี่ยวข้องบางอย่างหรือบางประเภท มีการเรียกใช้วัตถุโดยใช้ชื่อคลาส
ตัวอย่างเช่น มหาวิทยาลัยสามารถเป็นชั้นเรียนและอาจารย์ของมหาวิทยาลัยเป็นวัตถุ ในตัวอย่างข้างต้นมหาวิทยาลัยเป็นเพียงแผนซึ่งควบคุมการทำงานของมหาวิทยาลัย แต่หน่วยงานในมหาวิทยาลัยคือครูอาจารย์ใหญ่ผู้อำนวยการและคนอื่น ๆ เป็นบุคคลที่มีการกำหนดเฉพาะซึ่งเป็นสมาชิกของมหาวิทยาลัย .
หน่วยความจำของคอมพิวเตอร์ถูกใช้เพื่อจัดเก็บวัตถุเหล่านี้ซึ่งแสดงถึงคุณสมบัติที่แม่นยำของชั้นเรียน ข้อดีของการใช้วัตถุคือมันมีเทคนิคในการสร้างชนิดข้อมูลที่ผู้ใช้กำหนดเองใหม่
เพื่อให้เข้าใจถึงวัตถุให้สร้างคลาสและวัตถุ
# รวมถึงการใช้เนมสเปซ std; คลาสคิวบ์ {int a; สาธารณะ: ค่าโมฆะ (int); int volume () {return (a * a * a); }}; void cube :: values (int x) {a = x; } int main () {cube c; c.values (10); ศาล << "ปริมาตรของลูกบาศก์คือ" <คำจำกัดความของ Class
ชั้น ใช้ในการแนบข้อมูลและฟังก์ชั่นที่เกี่ยวข้องด้วยกัน ช่วยให้การซ่อนข้อมูลหากจำเป็นจากการใช้ภายนอก คลาสทำงานเป็นชนิดข้อมูลนามธรรมใหม่ที่ให้บริการเป็นชนิดข้อมูลในตัวอื่น ๆ ซึ่งมีอยู่ในเกือบทุกภาษาการเขียนโปรแกรม
ตัวอย่างเช่น ชนิดข้อมูล int ใน C ++ เป็นชนิดข้อมูลในตัวซึ่งสามารถใช้ในการประกาศตัวแปรได้มากเท่าที่ต้องการ ในทำนองเดียวกันคลาสยังทำหน้าที่เป็นพิมพ์เขียวหรือแผนที่ซึ่งอธิบายถึงข้อมูลและฟังก์ชั่นที่เกี่ยวข้องในวัตถุของคลาส การประกาศคลาสไม่ได้เรียกใช้วัตถุใด ๆ เช่นเดียวกับการประกาศชนิดข้อมูล int ไม่ได้สร้างตัวแปรใด ๆ คลาสที่ใช้ในการประกาศวัตถุ
ข้อมูลจำเพาะของคลาสเกี่ยวข้องกับสองส่วนคือการประกาศคลาสและนิยามฟังก์ชันคลาส
- การประกาศคลาสระบุขอบเขตและประเภทของสมาชิก
- นิยามฟังก์ชันคลาสระบุการใช้งานฟังก์ชันคลาส
ที่นี่เรามาสร้างคลาสที่มีชื่อว่าทรงกลม
คลาสคิวบ์ {ด้าน int; สาธารณะ: ค่าโมฆะ (int); ปริมาณ int (โมฆะ); }ความแตกต่างที่สำคัญระหว่างวัตถุกับคลาส
- Class คือชุดของวัตถุชนิดเดียวกันในขณะที่วัตถุคือการสร้างอินสแตนซ์ของคลาส
- วัตถุถูกกล่าวว่าเป็นเอนทิตีทางกายภาพที่ใช้ในโปรแกรมเพื่อวัตถุประสงค์เฉพาะบางอย่าง ในทางตรงกันข้ามชั้นถือว่าเป็นนิติบุคคลที่ใช้ในการผูกข้อมูลและฟังก์ชั่น
- วัตถุถูกประกาศโดยใช้คีย์เวิร์ดใหม่ ตรงกันข้ามกับคลาสจะประกาศโดยใช้คำหลักชั้น
- ในโปรแกรมคลาสไม่ใช้หน่วยความจำหน่วยความจำในขณะที่วัตถุจัดสรรหน่วยความจำ
ข้อสรุป
วัตถุสงวนของรัฐหรือข้อมูลในคุณลักษณะของคลาสและแสดงพฤติกรรมของพวกเขาในเวลาของการเริ่มต้นพร้อมกับวิธีการที่เรียกใช้ การห่อหุ้มข้อมูลถูกนำมาใช้ในการเขียนโปรแกรมโดยใช้แนวคิดของวัตถุ ในทางกลับกันกลุ่มของวัตถุประเภทที่เกี่ยวข้องนั้นเรียกว่าคลาสซึ่งมีคุณลักษณะและวิธีการทั่วไปที่ใช้ร่วมกัน แอตทริบิวต์และการดำเนินการที่กำหนดไว้ในชั้นเรียนไม่ได้มีไว้สำหรับชั้นเรียนของตัวเองแทนมันมีไว้สำหรับวัตถุของชั้นเรียน