Java:#8 ทำความรู้จักกับออบเจ็กต์ (object)

ออบเจ็กต์ (objectคืออะไร ประโยคคำถามนี้สำคัญมาก เพราะบางคนยังแยกไม่ออกว่า คลาส (class) และ ออบเจ็กต์ (object) แตกต่างกันอย่างไร และบางคนไม่รู้ว่า จริง ๆ แล้ว ออบเจ็กต์ คืออะไรกันแน่


วันนี้เราจะมาทำความรู้จักกับออบเจ็กต์ ด้วยการ “ลงมือทำ” สิ่งแรกที่เราต้องรู้คือ ก่อนจะสร้างออบเจ็กต์ได้นั้น เราต้องสร้างคลาสขึ้นมาก่อน ซึ่งในตอนที่แล้ว เราได้สร้างคลาส Students เอาไว้ ดังภาพที่ 1

ภาพที่ 1 คลาส Students

จากภาพที่ 1 จะเห็นว่า คลาส Students ไม่มีโค้ดอะไรอยู่ภายในเลย นี้คือคลาสที่เรามีอยู่ในตอนนี้ และเราจะสร้างออบเจ็กต์จากคลาส Students ขึ้นมา

แต่ก่อนจะสร้างออบเจ็กต์จากคลาส Students นั้น เราจะสร้างคลาสที่มีเมธอด main() ขึ้นมาก่อน เพื่อใช้ในการเขียนโค้ด ในการสร้างออบเจ็กต์ ซึ่งมีขั้นตอนดังนี้


ขั้นตอนการสร้างคลาส Main

1. คลิกขวาที่แพ็กเกจ com.thjava ไปที่ New และเลือก Java Main Class

ภาพที่ 2 New > Java Main Class

2. จะปรากฏหน้าจอให้สร้างคลาสใหม่ ตั้งชื่อว่า Main และคลิกที่ปุ่ม Finish

ภาพที่ 3 ตั้งชื่อคลาส

3. เราจะได้คลาส Main ขึ้นมา

ภาพที่ 4 คลาส Main.java

4. ซึ่งภายในมีโค้ดดัง ภาพที่ 5 ภายใต้เมธอด main() เราจะเขียนคำสั่งการสร้างออบเจ็กต์จากคลาส Students ในหัวข้อต่อไป

ภาพที่ 5 อธิบายโค้ด

ขั้นตอนการสร้างออบเจ็กต์ (object)

1. เขียนคำสั่งสร้างออบเจ็กต์ ด้วยการประกาศชนิดของออบเจ็กต์ ซึ่งก็คือชื่อคลาส Students นั่นเอง

ภาพที่ 6 ประกาศตัวแปร ชนิด Students

2. ตั้งชื่อ ออบเจ็กต์ว่า obj1

ภาพที่ 7 ตั้งชื่อตัวแปรว่า obj1

3. เพิ่มเครื่องหมายเท่ากับ (=) และใช้คำสั่ง new Students(); เป็นการสร้างออบเจ็กต์ ที่ 1 ขึ้นมา จากคลาส Students

ภาพที่ 8 สร้างออบเจ็กต์ จากคลาส Students

4. เราสามารถสร้างออบเจ็กต์ จากคลาส Students ขึ้นมามากเท่าไหร่ก็ได้ ตามความต้องการ

ภาพที่ 9 การสร้างออบเจ็กต์

5. พอจะเห็นความแตกต่างของคลาส และ ออบเจ็กต์ หรือยังคะ เราสร้างคลาส Students เพียงครั้งเดียว แต่สามารถสร้าง ออบเจ็กต์จากคลาส Students ขึ้นมาใช้งานมากแค่ไหนก็ได้

แต่เราจะใช้งานออบเจ็กต์ต่าง ๆ ที่สร้างขึ้นมาได้อย่างไร ? อันนี้เราต้องย้อนกลับไปตั้งแต่ขั้นตอน “การสร้างคลาส

คลาส” ใช้งานไม่ได้ก็จริง แต่คลาสเป็นตัวกำหนดว่า ออบเจ็กต์ที่สร้างขึ้นมาจากคลาสนั้น ๆ จะสามารถทำอะไรได้บ้าง ?

ถ้ายังไม่เข้าใจ เราไปต่อกันในตอนต่อไป เรื่อง องค์ประกอบของคลาส ค่ะ