ความแตกต่างที่สำคัญ – คลาสเทียบกับตัวแปรอินสแตนซ์
ภาษาโปรแกรมที่ทันสมัยที่สุดรองรับการเขียนโปรแกรมเชิงวัตถุ วัตถุมีข้อมูลหรือแอตทริบิวต์ วัตถุมีพฤติกรรมบางอย่าง พวกเขาเรียกว่าวิธีการ โปรแกรมสามารถสร้างแบบจำลองโดยใช้วัตถุ ซอฟต์แวร์คือชุดของโปรแกรม ดังนั้นซอฟต์แวร์สามารถออกแบบและใช้งานโดยใช้วัตถุ วัตถุมีปฏิสัมพันธ์โดยใช้วิธีการ การเขียนโปรแกรมเชิงวัตถุช่วยปรับปรุงโมดูลรหัสและการนำกลับมาใช้ใหม่ได้ ควรมีคลาสเพื่อสร้างวัตถุ คลาสเป็นพิมพ์เขียวเพื่อสร้างวัตถุ ดังนั้น วัตถุจึงเป็นตัวอย่างของคลาส ในการเขียนโปรแกรม ข้อมูลที่จำเป็นในการจัดเก็บข้อมูลข้อมูลถูกเก็บไว้ในตำแหน่งหน่วยความจำ ตำแหน่งหน่วยความจำเหล่านี้เรียกว่าตัวแปร ตัวแปรสมาชิกเป็นตัวแปรที่เกี่ยวข้องกับวัตถุเฉพาะ สามารถเข้าถึงได้สำหรับวิธีการทั้งหมด ตัวแปรสมาชิกมีสองประเภทคือตัวแปรคลาสและตัวแปรอินสแตนซ์ ความแตกต่างที่สำคัญระหว่างตัวแปรคลาสและอินสแตนซ์คือ หากมีตัวแปรเพียงชุดเดียวที่ใช้ร่วมกับอินสแตนซ์ทั้งหมดของคลาส ตัวแปรเหล่านั้นจะเรียกว่าตัวแปรคลาส และหากแต่ละอินสแตนซ์ของคลาสมีสำเนาของตัวแปรเป็นของตัวเอง ตัวแปรเหล่านี้เรียกว่าตัวแปรอินสแตนซ์
ตัวแปรระดับคืออะไร
เมื่อมีตัวแปรเพียงสำเนาเดียวที่แชร์กับอินสแตนซ์ทั้งหมดของคลาส ตัวแปรเหล่านั้นจะถูกเรียกเป็นตัวแปรคลาส ตัวแปรคลาสคือตัวแปรที่ประกาศภายในคลาสนอกเมธอดใดๆ ตัวแปรเหล่านี้มีคีย์เวิร์ด static ตัวแปรเหล่านี้เชื่อมโยงกับคลาส ไม่ใช่กับอ็อบเจ็กต์
รูปที่ 01: ตัวแปรคลาสและตัวแปรอินสแตนซ์
อ้างอิงโค้ดด้านล่างพร้อมตัวแปรคลาส
พนักงานคลาสสาธารณะ {
รหัสคงที่สาธารณะ
เงินเดือนสองเท่าแบบคงที่สาธารณะ
}
ทดสอบในชั้นเรียนสาธารณะ {
โมฆะคงที่สาธารณะหลัก(สตริง args){
พนักงาน e1=พนักงานใหม่();
พนักงาน e2=พนักงานใหม่();
}
}
ตามโปรแกรมข้างต้น e1 และ e2 เป็นวัตถุประเภทพนักงาน ทั้งสองจะมีสำเนาของหน่วยความจำเหมือนกัน หาก e1.id=1 และการพิมพ์ e2.id จะให้ค่า 1 ด้วย คุณสามารถพิมพ์ id และค่าเงินเดือนโดยใช้ชื่อคลาส Employee เช่น Employeeid, Employee.salary เป็นต้น
ตัวแปรอินสแตนซ์คืออะไร
เมื่อแต่ละอินสแตนซ์ของคลาสมีสำเนาของตัวแปรของตัวเอง ตัวแปรเหล่านั้นจะเรียกว่าตัวแปรอินสแตนซ์ อ้างอิงโปรแกรมด้านล่าง
พนักงานคลาสสาธารณะ {
รหัส int สาธารณะ;
เงินเดือนสองเท่าของประชาชน
}
ทดสอบในชั้นเรียนสาธารณะ{
โมฆะคงที่สาธารณะหลัก(สตริง args){
พนักงาน e1=พนักงานใหม่();
e1.id=1;
e1.เงินเดือน=20000;
พนักงาน e2=พนักงานใหม่();
e2.id=2;
e2. เงินเดือน=25000;
}
}
ในโปรแกรมหลัก e1 และ e2 เป็นการอ้างอิงถึงวัตถุประเภท Employee เป็นไปได้ที่จะกำหนดค่าสำหรับ id และเงินเดือนโดยใช้ตัวดำเนินการ dot เช่น e1.id, e1 เงินเดือน เป็นต้น รหัสและเงินเดือนในคลาส Employee เรียกว่าตัวแปรเช่นe1 และ e2 เป็นวัตถุที่แยกจากกัน แต่ละอ็อบเจ็กต์จะมีสำเนาของตัวแปรอินสแตนซ์แยกต่างหาก e1 จะมี id และเงินเดือนแยกกัน และ e2 จะมี id และเงินเดือนแยกจากกัน ดังนั้น ตัวแปรอินสแตนซ์จะถูกสร้างขึ้นเมื่อวัตถุหรืออินสแตนซ์ถูกสร้างขึ้น
ความคล้ายคลึงกันระหว่างตัวแปรคลาสและอินสแตนซ์คืออะไร
- ทั้งสองประเภทเป็นตัวแปร
- ตัวแปรทั้งสองอยู่ในคลาสแต่อยู่นอกเมธอดใดๆ
ความแตกต่างระหว่างคลาสและตัวแปรอินสแตนซ์คืออะไร
ตัวแปรระดับเทียบกับตัวแปรอินสแตนซ์ |
|
ตัวแปรคลาสคือตัวแปรที่มีตัวแปรเดียวที่แชร์กับอินสแตนซ์ทั้งหมดของคลาส | ตัวแปรอินสแตนซ์คือตัวแปรเมื่อแต่ละอินสแตนซ์ของคลาสมีสำเนาของตัวแปรเป็นของตัวเอง |
สมาคม | |
ตัวแปรคลาสเชื่อมโยงกับคลาส | ตัวแปรอินสแตนซ์เชื่อมโยงกับวัตถุ |
จำนวนสำเนา | |
ตัวแปรคลาสสร้างหนึ่งสำเนาสำหรับวัตถุทั้งหมด | ตัวแปรอินสแตนซ์สร้างสำเนาแยกสำหรับแต่ละวัตถุ |
คำหลัก | |
ตัวแปรคลาสควรมีคีย์เวิร์ดคงที่ | ตัวแปรอินสแตนซ์ไม่ต้องการคีย์เวิร์ดพิเศษ เช่น สแตติก |
สรุป – คลาสเทียบกับตัวแปรอินสแตนซ์
การเขียนโปรแกรมเชิงวัตถุเป็นกระบวนทัศน์การเขียนโปรแกรมหลัก ช่วยในการสร้างแบบจำลองซอฟต์แวร์โดยใช้วัตถุอ็อบเจ็กต์ถูกสร้างขึ้นโดยใช้คลาส การสร้างวัตถุเรียกอีกอย่างว่าการสร้างอินสแตนซ์ ชั้นเรียนจัดเตรียมพิมพ์เขียวเพื่อสร้างวัตถุ ตัวแปรสมาชิกเป็นตัวแปรที่เกี่ยวข้องกับวัตถุเฉพาะ สามารถเข้าถึงได้สำหรับวิธีการทั้งหมด ตัวแปรสมาชิกมีสองประเภทคือ ตัวแปรคลาส และตัวแปรอินสแตนซ์ ความแตกต่างระหว่างตัวแปรคลาสและอินสแตนซ์คือ หากมีตัวแปรเพียงชุดเดียวที่ใช้ร่วมกับอินสแตนซ์ทั้งหมดของคลาส ตัวแปรเหล่านั้นจะเรียกว่าตัวแปรคลาส และหากแต่ละอินสแตนซ์ของคลาสมีสำเนาของตัวแปรเป็นของตัวเอง ตัวแปรเรียกว่าตัวแปรอินสแตนซ์
ดาวน์โหลดเวอร์ชัน PDF ของคลาสเทียบกับตัวแปรอินสแตนซ์
คุณสามารถดาวน์โหลดไฟล์ PDF ของบทความนี้และใช้เพื่อวัตถุประสงค์ออฟไลน์ตามหมายเหตุอ้างอิง โปรดดาวน์โหลดไฟล์ PDF ที่นี่: ความแตกต่างระหว่างคลาสและตัวแปรอินสแตนซ์