Java ความรู้เบื้องต้นเกี่ยวกับคลาส

    คลาส (class) คือ ต้นกำเนิดของ ออบเจ็กต์ (Object ) หรือ อินสแตนซ์ (Instance) ก่อนที่เราจะมีออบเจ็กต์ หรือ อินสแตนซ์ ได้นั้น เราจะต้องสร้าง คลาส ขึ้นมาก่อน ซึ่งมีรูปแบบดังนี้

mystou-com-java-basic-5-1

Access Modifiers คือ การกำหนดการเข้าถึงคลาส เช่น public หมายถึงสามารถเข้าถึงได้จากทุกที่
class เป็นคำสงวน หรือ keyword ในการสร้างคลาส
ชื่อคลาส คือชื่อที่เราต้องการตั้งให้กับคลาสที่สร้างขึ้นมา ชื่อคลาสควจจะเป็นคำนาม และขึ้นต้นด้วยตัวใหญ่เสมอ เช่น Book, Car, Database เป็นต้น

    ภายในคลาสจะประกอบไปด้วย 2 ส่วนหลัก ๆ คือ
1. Attribute (คุณลักษณะ)
2. Method (วิธีการ / เมธอด )

Attribute คือ ส่วนประกอบหนึ่งของ คลาส (class) ใช้ในการเก็บค่าของข้อมูล (value) ที่จะนำมาประมวลผลในโปรแกรม
Method เป็นองค์ประกอบหนึ่งของ คลาส (class) ภายในเมธอดจะมีวิธีการ ต่าง ๆ ที่เราใช้จัดการประมวลผลกับข้อมูลที่เก็บอยู่ในตัวแปร (variable) หรือ Attribute

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

ตัวอย่าง : ลองจินตนาการถึงหนังสือ 1 เล่ม ว่ามีคุณลักษณะอะไรบ้าง ?

java-class-01

    เราจะสร้างคลาส Book.java ขึ้นมาเพื่อจัดการเกี่ยวกับ “หนังสือ” ซึ่งจะประกอบไปด้วยคุณลักษณะ 2 อย่างคือ

1. title ใช้เก็บข้อมูล ชื่อ หนังสือ
2. price ใช้เก็บข้อมูล ราคา หนังสือ

เมื่อได้ “คุณลักษณะ” แล้วก็ต้องมี “วิธีการ” ด้วย

    “วิธีการ” หมายถึง วิธีการที่จะจัดการกับ ค่า (value) ที่อยู่ในตัวแปร (variable) ซึ่งก็คือคุณลักษณะที่ประกาศเอาไว้ เช่น เราต้องการให้คลาส Book.java มีวิธีการเหล่านี้

1. setAttribute(…) เป็นวิธีในการกำหนดค่าให้ตัวแปร
2. discount() เป็นวิธีในการลดราคา 5%
3. showDetails() เป็นวิธีในการแสดงข้อมูลหนังสือหลังจากลดราคาแล้ว

เมื่อเขียนเป็นคลาสไดอะแกรม (class diagram) จะได้ภาพดังนี้

mystou-com-glossary-java-class-02

ตัวอย่าง : กรณีสร้างคลาสชื่อ Book ขึ้นมา


ตัวอย่าง :
การสร้างคลาส Book ภายในประกอบด้วย attribute และ method

 

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

Book book = new Book();

    จากโค้ด เราก็จะได้ตัวแปรอ้างอิง (reference data type) ชื่อ book ขึ้นมา ซึ่งเราเรียกมันว่า “ออบเจ็กต์” ของคลาส Book หรือ “อิสแตนซ์” ของคลาส Book เวลาใช้งานเราก็นำชื่อ book ที่สร้างขึ้นมาไปเรียกใช้วิธีการต่าง ๆ ที่เราเขียนเอาไว้ในคลาส Book.java อะไรที่เราเขียนเป็นโครงร่างไว้ หรือเขียนเอาไว้ในคลาส เราก็จะสามารถเรียกใช้งานได้

    ดังนั้นเวลาสร้างคลาส ในขั้นตอนการออกแบบคลาสนั้นเป็นเรื่องที่เราต้องคิดให้ดีว่า จำเป็นต้องมีคุณลักษณะ (Attribute) และวิธีการ (Method) อะไรบ้าง ? ถึงเวลาที่จะให้มันทำงานจริง ๆ หรือตอนที่เราสั่งให้มันแปลงร่างเป็นออบเจ็กต์ด้วยคำสั่ง new แล้ว ตอนนั้นเรามีหน้าที่เรียกใช้งานอย่างเดียว ไม่ได้มาคำนึงถึงเรื่องของการสร้างหรือออกแบบคลาสแล้ว


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


 

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

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

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