29 November 2010

ความแตกต่างของ Class Object และ Instance

ลองค้นหาความแตกต่างของ Object กับ Instance ก็ไปเจอ Alfred’s Computing Weblog ซึ่งอธิบายรายละเอียดได้ เข้าใจง่ายดี เลยเอามาลงเขียนเป็นไทยๆ ดูสำหรับคนที่อยากรู้ความแตกต่างของ Class Object และก็ Instance

Object เป็น ตัวที่ห่อหุ่ม state และ behavior เอาไว้โดยมี Class เป็นพิมพ์เขียวหรือต้นแบบของ object ส่วน Instance นัันจะมีได้เพียงหนึ่งเดียวและมีรูปแบบตามคลาส

Object
หากมองในโลกแห่งความจริง Object จะมี 2 ลักษณะเฉพาะคือ state และ behavior อย่างเช่นคน จะมี state เป็น ชื่อ,อายุ และมี behavior เป็น กิน,นอน รถมี state เป็น ความเร็ว,เกียร์ที่ใช้อยู่ โดยมี behavior เป็น เบรค,เปลี่ยนเกียร์ ซึ่งหากมองในด้านของ programming แล้ว state ก็คือ field และ behavior ก็คือ method นั้นเอง

Class
class นั้นเปรียบได้กับพิมพ์เขียวที่ใช้ในการสร้าง object ซึ่งจะเก็บรวบรวม state และ behavior เอาไว้

Instance
instance จะก๊อบเอาลักษณะของ class แล้วแสดงตาม object เมื่อเราทำการสร้าง instance ระบบจองเมโมรี่ไว้

หากมองเป็นโค๊ดจะได้รูปแบบ

Class
public Class Student {
String name;
Integer age;

public void eat(){
.................
}

public void sleep(){
................
}
}

Instance
Student zeroEngine;

Object
zeroEngine = new Student();

ที่มา : Alfred’s Computing Weblog