ตัวอย่างโปรเจ็กต์ เช็คผลสอบ ตอนที่ 4 (สร้างออบเจ็กต์เก็บข้อมูล)

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

 

ตอนนี้เข้อมูลในตาราง “Students” มีลักษณะดังนี้

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x4-1

เรามองเห็นข้อมูลเป็นแถว มีทั้งหมด 4 แถว นี่คือมุมมองของ “ตาราง (table)” ต่อไปนี้เราจะมองมันในอีกมุมหนึ่ง ที่เรียกว่า มุมของ “ออบเจ็กต์ (object)” ลองดูภาพนะคะ ^^

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x4-2

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

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x4-3

 

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

 

แน่นอนค่ะว่าเราดึงข้อมูลมาจากตารางชื่อ “Students” คลาสก็ควรจะต้องตั้งชื่อเดียวกัน ^^

คำว่า “Student” เป็นคำนาม แปลว่า “นักเรียน/นักศึกษา”

แต่ด้วยความที่ว่าใน 1 ตารางมีข้อมูลนักศึกษามากกว่า 1 คน เราจึงเติม “s” ให้คำนามนี้ด้วย

กลายแป็น “Students” ที่ต้องการสื่อหมายความว่า มีข้อมูลนักศึกษามากกว่า 1 คน

 

สร้างคลาสชื่อ “Students.java” ขึ้นมา ภายในมีตัวแปรที่มีชื่อและชนิดข้อมูลเป็นไปในทิศทางเดียวกันกับตารางเลยค่ะ จากนั้นสร้างเมธอด Constructor() ขึ้นมา 3 แบบ สร้างเมธอด Getters() & Setters() ขึ้นมา และปิดท้ายด้วยเมธอด toStiong()

 

ถ้าคุณไม่เข้าใจ้คำศัพท์ 3 คำนี้ กรุณาอย่าปล่อยเลยตามเลยนะคะ ลองคลิกเข้าไปหาความหมายของมันได้ตามหัวข้อต่าง ๆ ดังต่อไปนี้

– การใช้งาน Constructor

– การใช้งาน Setters & Getters ( 2 คำนี้เติม s นะคะ หมายความว่ามีมากกว่า 1)

– การใช้งานเมธอด toString()

 

ภายในคลาส Students.java จะมีโค้ดทั้งหมดดังนี้

 

ต่อมา… สร้างคลาส TestStudents.java ขึ้นมาเพื่อใช้ในการทดสอบคลาส Students.java โดยภายในมีโค้ดทั้งหมดดังนี้

 

เมื่อสั่ง Run โปรแกรม จะได้ผลลัพธ์ดังนี้

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x4-4

ว๊าววว!!! ตอนนี้เรามีข้อมูลในออบเจ็กต์ เรียงกันหมือนข้อมูลในตารางเลย!!!

Java-Basic-ง่ายนิดเดียว-Project-Check-Score-00-x4-5

แต่นี่เกิดจากการที่เรากรอกข้อมูล โดยการ “จำลองข้อมูล” ในเมธอด main() จากคลาส TestStudents.java เพื่อใช้ในการทดสอบโปรแกรม ไม่ได้ดึงข้อมูลจากฐานข้อมูลมากำหนดค่าให้ออบเจ็กต์ จากคลาส Students.java แต่อย่างใด

 

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

 

สรุป

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

 


เรื่องที่เกี่ยวข้อง

NetBeans: วิธีสร้าง JFrame

NetBeans: ทำความรู้จัก Label กับ TextField

NetBeans: ทำความรู้จักกับ Button

ตัวอย่างโปรเจ็กต์: เช็คผลสอบ

ตอนที่ 1 (ภาพรวมของระบบ)

ตอนที่ 2 (ระบบฐานข้อมูล)

ตอนที่ 3 (เชื่อมต่อ Java กับ Database)

ตอนที่ 4 (สร้างออบเจ็กต์เก็บข้อมูล)

ตอนที่ 5 (ประมวลผลข้อมูล)

ตอนที่ 6 (ดึงข้อมูลจากตาราง)

ตอนที่ 7 (นำข้อมูลไปแสดงผลจริง)


 

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

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

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