ความแตกต่างระหว่างวัตถุและอินสแตนซ์

ความแตกต่างระหว่างวัตถุและอินสแตนซ์
ความแตกต่างระหว่างวัตถุและอินสแตนซ์

วีดีโอ: ความแตกต่างระหว่างวัตถุและอินสแตนซ์

วีดีโอ: ความแตกต่างระหว่างวัตถุและอินสแตนซ์
วีดีโอ: แกะกล่อง Nokia N9 (อายุ 8 ปี) จุดจบของ Nokia ที่แท้ทรู 2024, กรกฎาคม
Anonim

วัตถุเทียบกับอินสแตนซ์

Object Oriented Programming (OOP) เป็นหนึ่งในกระบวนทัศน์การเขียนโปรแกรมที่ได้รับความนิยมมากที่สุด ใน OOP มุ่งเน้นที่การคิดเกี่ยวกับปัญหาที่จะแก้ไขในแง่ขององค์ประกอบในโลกแห่งความเป็นจริงและเป็นตัวแทนของปัญหาในแง่ของวัตถุและพฤติกรรมของพวกเขา ภาษาโปรแกรมหลายภาษาที่สนับสนุนลักษณะสำคัญของ OOP (เรียกว่าภาษา OOP) มีคลาสเป็นเครื่องมือการเขียนโปรแกรมหลัก พวกเขาเรียกว่าตามชั้นเรียน ชั้นเรียนเป็นตัวแทนนามธรรมของวัตถุในโลกแห่งความเป็นจริง คลาสมีคุณสมบัติที่เรียกว่าแอตทริบิวต์ แอตทริบิวต์ถูกนำมาใช้เป็นตัวแปรส่วนกลางและอินสแตนซ์ เมธอดในคลาสแสดงหรือกำหนดพฤติกรรมของคลาสเหล่านี้เมธอดและแอตทริบิวต์ของคลาสเรียกว่าสมาชิกของคลาส ในแง่ง่ายๆ คลาสคือพิมพ์เขียวหรือเทมเพลตสำหรับวัตถุในชีวิตจริงที่เฉพาะเจาะจง ดังนั้น วัตถุคือบล็อกหน่วยความจำที่ใช้เก็บข้อมูลที่จำเป็นตามพิมพ์เขียวนี้ อินสแตนซ์คือบล็อกหน่วยความจำที่อ้างถึงวัตถุ

วัตถุคืออะไร

วัตถุคือผลลัพธ์ของการสร้างอินสแตนซ์ของชั้นเรียน การสร้างอินสแตนซ์เป็นกระบวนการของการนำพิมพ์เขียวและกำหนดคุณลักษณะและพฤติกรรมแต่ละรายการ เพื่อให้วัตถุผลลัพธ์แสดงถึงวัตถุในชีวิตจริง ออบเจ็กต์เป็นบล็อกเฉพาะและต่อเนื่องของหน่วยความจำที่จัดสรรเพื่อเก็บข้อมูล เช่น ตัวแปร เมธอด หรือฟังก์ชัน ฯลฯ ออบเจ็กต์ถูกสร้างขึ้นโดยใช้โอเปอเรเตอร์ใหม่ในภาษาการเขียนโปรแกรม Java ตัวอย่างเช่น หากมีคลาสที่เรียกว่า Car คุณสามารถใช้สิ่งต่อไปนี้เพื่อสร้างวัตถุของคลาส Car ได้

รถใหม่();

นี่ โอเปอเรเตอร์ใหม่สร้างออบเจ็กต์รถยนต์และส่งคืนการอ้างอิงถึงออบเจ็กต์ตัวดำเนินการใหม่พร้อมกับตัวสร้างของคลาสรถถูกใช้เพื่อสร้างวัตถุใหม่ ช่วงอายุของวัตถุเริ่มต้นจากการเรียกไปยังตัวสร้างจนถึงเวลาที่ถูกทำลาย เมื่อไม่ได้อ้างอิงวัตถุ วัตถุนั้นจะถูกลบออก/ทำลายโดยคนเก็บขยะ

อินสแตนซ์คืออะไร

Instance เป็นบล็อกหน่วยความจำซึ่งมีการอ้างอิงถึงวัตถุ กล่าวอีกนัยหนึ่ง Instance จะเก็บที่อยู่ของบล็อกหน่วยความจำเริ่มต้นที่จัดเก็บวัตถุไว้ ที่จริงแล้ว ชื่อของอินสแตนซ์สามารถใช้เพื่อเข้าถึงจุดเริ่มต้นของพื้นที่หน่วยความจำอ็อบเจ็กต์ ออฟเซ็ตจากหน่วยความจำเริ่มต้นคำนวณโดยเอ็นจิ้นรันไทม์ เพื่อให้เราสามารถไปยังตำแหน่งที่เก็บข้อมูลแต่ละรายการหรือการอ้างอิงเมธอด สามารถใช้โค้ด Java ต่อไปนี้เพื่อสร้างอินสแตนซ์ของวัตถุ Car

รถ myCar=รถใหม่();

ดังที่กล่าวไว้ข้างต้น โอเปอเรเตอร์ใหม่จะสร้างออบเจกต์ Car และคืนค่าการอ้างอิงไปยังออบเจกต์ดังกล่าว ข้อมูลอ้างอิงนี้จัดเก็บไว้ในตัวแปรประเภทรถยนต์ myCar ดังนั้น myCar คืออินสแตนซ์ของวัตถุ Car ที่สร้างขึ้น

วัตถุและอินสแตนซ์ต่างกันอย่างไร

Object เป็นบล็อกหน่วยความจำที่อยู่ติดกันซึ่งเก็บข้อมูลจริงที่ทำให้วัตถุนี้แตกต่างจากวัตถุอื่น ในขณะที่อินสแตนซ์คือการอ้างอิงไปยังวัตถุ เป็นบล็อกของหน่วยความจำซึ่งชี้ไปยังที่อยู่จ้องมองของที่เก็บวัตถุ สองอินสแตนซ์อาจอ้างถึงวัตถุเดียวกัน อายุขัยของวัตถุและอินสแตนซ์ไม่เกี่ยวข้องกัน ดังนั้น อินสแตนซ์อาจเป็นโมฆะ เมื่ออินสแตนซ์ทั้งหมดที่ชี้ไปที่วัตถุถูกลบออก วัตถุจะถูกทำลาย