Java ความหมายของ Class และ Object ในทางเทคนิค

ในการเขียนโปรแกรมเราเริ่มต้นด้วยการเปิดโปรแกรม NetBeans IDE และสร้างโปรเจกต์ขึ้นมา หลังจากนั้นก็สร้างแพ็กเกจ ภายใต้แพ็กเกจเราได้คลาสขึ้นมา 1 คลาส ชื่อ Employees.java

คลาสของเราจะถูกเก็บเอาไว้ในฮาร์ดดิสก์ (hard disk drive) ซึ่งเป็นอุปกรณ์ในการเก็บข้อมูลอย่างถาวรของระบบคอมพิวเตอร์ (การเก็บข้อมูลแบบถาวรหมายถึงเมื่อปิดคอมพิวเตอร์ไปแล้ว เปิดขึ้นมาใหม่ข้อมูลนั้นก็ยังคงมีอยู่)


Hard disk drive (หน่วยความจำถาวร)

เมื่อเราเขียนโค้ดการทำงานต่าง ๆ ของคลาส Employees.java เรียบร้อยแล้ว เราก็สร้างคลาสใหม่ชื่อว่า TestEmp.java ขึ้นมาโดยภายในจะมีเมธอดเมน (main) เอาไว้ใช้ในการ Run โปรแกรม

 

เราได้เขียนคำสั่งเพื่อสร้างออบเจ็กต์จากคลาส Employees.java ด้วยคำสั่ง new ดังนี้

หลังจากที่เราสั่ง Run โปรแกรม คลาส Employees.class จะถูกโหลดมาอยู่ในแรม  (RAM: random access memory) ซึ่งเป็นหน่วยความจำของระบบคอมพิวเตอร์อีกประเภทหนึ่ง

 

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

 

ข้อมูลที่อยู่ใน RAM คือโปรแกรมต่าง ๆ ที่กำลังทำงานอยู่ในขณะที่มีกระแสไฟฟ้าหล่อเลี้ยง ข้อมูลทั้งหมดจะหายไปทันทีเมื่อคอมพิวเตอร์ถูกปิดลงไป (เราเรียกหน่วยความจำแบบนี้ว่าหน่วยความจำชั่วคราว)

RAM (หน่วยความจำชั่วคราว)

 

คลาส Employees.java เพียงคลาสเดียว สามารถทำให้เกิดออบเจ็กต์ขึ้นมาได้มากมายตามที่เราต้องการ โดยสร้างขึ้นมาด้วยคำสั่ง new และแต่ละออบเจ็กต์จะมีค่าของข้อมูลที่แตกต่างกัน (state) ซึ่งอยู่ในตำแหน่งต่าง ๆ ของ RAM และพร้อมต่อการประมวลผล

 

เราจะเห็นว่า คลาส (class) เป็นแค่โครงร่างของออบเจ็กต์เท่านั้น เมื่อเราเปิดโปรแกรม NetBeans ขึ้นมาเราก็เปิดขึ้นมาเพื่อสร้าง class และเขียนโค้ดต่าง ๆ ลงไปในคลาส ซึ่งแยกเป็น 2 ส่วนคือ ส่วนที่เตรียมไว้ใช้ในการเก็บข้อมูล (attribute) และส่วนที่เป็นความสามารถ (method) ในการจัดการต่าง ๆ กับข้อมูลเหล่านั้น

 

ภายในคลาสไม่มีข้อมูลใด ๆ เลย มีแค่การเขียนคำสั่งต่าง ๆ ที่เราต้องการใช้งานเอาไว้เท่านั้น “class” เป็นแค่โครงสร้าง หรือเปรียบเสมือนต้นแบบของออบเจ็กต์ (Blueprint of Objects)  ซึ่งเรามักจะเรียกมันว่าต้นกำเนิดของออบเจ็กต์ เพราะถ้าไม่มีคลาส ออบเจ็กต์ก็เกิดขึ้นมาไม่ได้

 

สรุป

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

 


 

ธมนวรรณ มณีจันทร์

ธมนวรรณ มณีจันทร์

|:- เราเชื่อมั่นว่าการเสียสละและการแบ่งปันจะทำให้โลกใบนี้สวยงามมากขึ้น ทุกๆ จุดเริ่มต้นของการเรียนรู้ นำไปสู่การเรียนรู้ถัดไป เว็บไซต์แห่งนี้ขอเป็นส่วนหนึ่งของการแบ่งปันความรู้ที่ไม่มีที่สิ้นสุด มาร่วมกันผลักดันโลกของเราให้หมุนไปพร้อมกับพลังแห่งความรักด้วยกันนะคะ :) >>> |:- About Me! -:|