ความแตกต่างที่สำคัญ : คลาสและวัตถุเป็นแนวคิดที่สำคัญที่สุดสองข้อของภาษาโปรแกรมเชิงวัตถุ ความแตกต่างที่สำคัญระหว่างทั้งสองคือคลาสนั้นเป็นพิมพ์เขียวซึ่งใช้ในการสร้างวัตถุที่แตกต่างในประเภทเดียวกัน
การเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นรูปแบบที่นิยมมากของการเขียนโปรแกรมเนื่องจากความสามารถในการจัดการโปรแกรมประยุกต์ที่ซับซ้อนด้วยรหัสเพิ่มเติม คลาสและวัตถุเป็นคำสองคำที่ใช้กันทั่วไปในภาษา OOP ในรูปแบบพื้นฐานที่สุดวัตถุคือการสร้างอินสแตนซ์ของคลาส บทความนี้แยกความแตกต่างระหว่างคำทั้งสอง
วัตถุคือส่วนขยายของชนิดข้อมูลนามธรรมพร้อมกับความหลากหลายและการสืบทอด วัตถุมีสถานะ (ข้อมูล) และพฤติกรรม (รหัส) ในการเขียนโปรแกรมที่สำคัญคือวัตถุแต่ละตัวมีหน้าที่รับผิดชอบในการดำเนินงาน
วัตถุมีคุณสมบัติและวิธีการที่จำเป็นในการทำให้ข้อมูลบางประเภทมีประโยชน์ คุณสมบัติของวัตถุคือสิ่งที่มันรู้และวิธีการของมันคือสิ่งที่มันสามารถทำได้ วิธีการให้ฟังก์ชันการทำงานกับแอปพลิเคชันและตรวจสอบให้แน่ใจว่ามีการใช้ข้อมูลของวัตถุอย่างถูกต้อง วิธีการยังอนุญาตให้ซ่อนการปฏิบัติงานจริงและเป็นมาตรฐานสำหรับการปฏิบัติงานเฉพาะสำหรับวัตถุประเภทต่างๆ วิธีการที่ใช้ในการเข้าถึงวัตถุของชั้นเรียน การโต้ตอบทั้งหมดจะกระทำผ่านวิธีการของวัตถุ สิ่งนี้เรียกว่าการห่อหุ้มข้อมูล วัตถุยังใช้สำหรับการซ่อนข้อมูลหรือรหัส
คลาสมีการกล่าวถึงว่าเป็นพิมพ์เขียวของวัตถุ มันเป็นคู่มือที่ขยายได้ใช้สำหรับการสร้างวัตถุ มันเป็นรูทีนย่อยที่สร้างวัตถุ คลาสไม่ได้แสดงถึงวัตถุ มันแสดงถึงข้อมูลและวิธีการทั้งหมดที่วัตถุควรมี หนึ่งคลาสสามารถใช้เพื่อยกตัวอย่างวัตถุหลาย ๆ จะถือว่าเป็นการประกาศ TYPE เพิ่มเติม ด้านล่างเป็นตัวอย่างพื้นฐาน:
ตัวอย่างชั้นเรียน
{
โมฆะคงที่สาธารณะหลัก (String [] args)
{
String sampleText = "สวัสดีชาวโลก!";
System.out.println (sampleText);
}
}
คลาสข้างต้นชื่อ 'ตัวอย่าง' รวมถึงวิธีการเดียวที่ชื่อว่า main ภายใน main ข้อความตัวอย่างตัวแปรถูกกำหนดเป็น "Hello world!" วิธีการหลักจะเรียกระบบคลาสจากไลบรารีของ Java ซึ่งมีวิธีการ หน้าต่าง.
คลาสเป็นส่วนพื้นฐานของ OOP พวกเขาอนุญาตให้แยกตัวแปรและวิธีการในวัตถุเฉพาะแทนการเข้าถึงได้โดยทุกส่วนของโปรแกรม การห่อหุ้มข้อมูลนี้ช่วยปกป้องแต่ละคลาสจากการเปลี่ยนแปลงในส่วนอื่น ๆ ของโปรแกรม ด้วยการใช้คลาสผู้พัฒนาสามารถสร้างโปรแกรมที่มีโครงสร้างด้วยซอร์สโค้ดที่สามารถปรับเปลี่ยนโปรแกรมได้อย่างง่ายดาย
การเปรียบเทียบระหว่าง Object กับ Class:
วัตถุ | ชั้น | |
คำนิยาม | วัตถุถูกกำหนดให้เป็นเอนทิตีที่สามารถใช้งานได้โดยใช้คำสั่งใน OOP | คลาสใช้ใน OOP เพื่ออธิบายวัตถุหนึ่งรายการขึ้นไป |
ตัวแปร | มันเป็นตัวแปร | มันเป็นประเภท |
แนวคิด | มันเป็นตัวอย่างของคลาส | มันเป็นแนวคิดที่ขยายตัวของโครงสร้างข้อมูล |
หน่วยความจำ | มีการจัดสรรหน่วยความจำ | ไม่มีการจัดสรรหน่วยความจำ |
ตัวอย่าง | #include ใช้ namespace std; สี่เหลี่ยมผืนผ้าระดับ ความกว้าง int, ความสูง; ส่วนกลาง: เป็นโมฆะ set_values (int, int); int พื้นที่ () {ผลตอบแทนความกว้าง * สูง;} }; เป็นโมฆะสี่เหลี่ยมผืนผ้า :: set_values (int x, int y) { width = x; height = y; } int main () { rect rect, rectb; rect.set_values (3, 4); rectb.set_values (5, 6); ศาล << "rect area:" << rect.area () << endl; ศาล << "บริเวณ rectb:" << rectb.area () << endl; กลับ 0 } | สี่เหลี่ยมผืนผ้าระดับ { ความกว้าง int, ความสูง; ส่วนกลาง: เป็นโมฆะ set_values (int, int); int พื้นที่ (โมฆะ); } rect; |
ตัวบ่งชี้ | 'object_names' เป็นรายการทางเลือกสำหรับวัตถุของคลาสนี้ | 'class_name' เป็นตัวระบุที่ถูกต้องสำหรับชั้นเรียน |
วัตถุประสงค์ | ข้อมูลนามธรรมและการสืบทอดต่อไป | การจัดกลุ่มข้อมูล |
ชนิด | การอ้างอิง | ราคา |