วันศุกร์ที่ 1 ตุลาคม พ.ศ. 2553

คลาส (class)

บทที่ 4
คลาส (class)


วัตถุประสงค์
1.เพื่อให้ผู้ศึกษาเข้าความหมายของคลาส (class)
2.เพื่อให้ผู้ศึกษาเกิดความเข้าใจ และสามารถสร้างคลาสในโปรแกรมเชิงวัตถุได้

การกำหนดคลาส (class) ในการเขียนโปรแกรมเชิงวัตถุถือว่ามีความสำคัญเป็นอย่างยิ่ง เนื่องจากแนวคิดเชิงวัตถุมองว่า ทุกๆสิ่งที่กำลังประมวลผลคือวัตถุ (object) และวัตถุจะถูกสร้างขึ้นมาตามต้นแบบหรือคลาส

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


2. องค์ประกอบของคลาส
ภายในคลาส (class) หรือต้นแบบจะประกอบไปด้วยข้อมูล (Data) และพฤติกรรม (Behavior) ของคลาส ในบางตำราอาจใช้คำว่า Properties แทน Data และใช้คำว่า Method แทน Behavior

คลาส

ข้อมูล , คุณสมบัติ

พฤติกรรม

class xxxxx

Properties

Method






3. การตั้งชื่อคลาส
ในการตั้งชื่อคลาส หรือการ identifier มีหลักการที่สำคัญ ดังนี้
1) เขียนเป็นคำติดกัน
2) ไม่ใช้เครื่องหมาย underscore ( _ )
3) คำที่อยู่ถัดไปจะเริ่มต้นด้วยตัวพิมพ์ใหญ่
4) การตั้งชื่อตัวแปร และเมธอดควรเริ่มต้นด้วยตัวพิมพ์เล็ก
5) ในการกำหนดค่าคงที่ (constant) ควรใช้ตัวอักษรพิมพ์ใหญ่ทั้งหมด และใช้เครื่องหมาย (underscore) _ เพื่อแยกคำ

4. คลาสในภาษาจาวา
ในภาษาจาวา ได้กำหนดแนวทางในการเขียนโปรแกรม ที่กล่าวถึงคลาส ดังนี้
1) ในโปรแกรมภาษาจาวา จะต้องมีคลาส (class) อย่างน้อย 1 คลาส
2) ภายใน 1 โปรแกรม สามารถมีคลาสที่เป็น public ได้เพียง 1 คลาส
3) คลาสที่เป็น public จะต้องใช้ชื่อเดียวกับชื่อโปรแกรมเสมอ
4) ต้องทำการสร้าง object ของ class ก่อนเรียกใช้เมธอดเสมอ
class ชื่อคลาส
{
// ส่วนของเมธอดในคลาส
public static void main(String[] args) // เมธอด main
{
xxxxxxxxxxxxxxx ; // ประโยคคำสั่งที่ 1
xxxxxxxxxxxxxxx ; // ประโยคคำสั่งที่ 2
}
static void Test(String s) // เมธอด Test
{
xxxxxxxxxxxxxxx ; // ประโยคคำสั่งที่ 1
}

} // จุดสิ้นสุดของคลาส
Data_Memeber; // ส่วนที่เป็น Data ในคลาส

















ตัวอย่าง การกำหนดคลาสรถยนต์
รถยนต์
+สี
+ล้อ
-เลขตัวถัง
+สตาร์ท ( )
+เคลื่อนที่ ( )
+เบรค ( )
ชื่อคลาส
คุณสมบัติ
เมธอด









ตัวอย่าง โปรแกรม Hello (Hello.java)

5
3
1

อธิบาย
บรรทัดที่ 1 เป็นการประกาศชื่อคลาส
บรรทัดที่ 3 ประกาศเมธอด main( ) ของคลาส Hello
บรรทัดที่ 5 แสดงข้อความ ออกทางจอภาพ

ทำการคอมไพล์ซอร์สโปรแกรม (Source Program)



เมื่อประมวลผล (Run) โปรแกรม จะได้ผลลัพธ์ตามภาพ


จากโค้ดโปรแกรม Hello.java จะพบว่ามีเพียงเมธอดเดียวในโปรแกรมนี้ คือ main( ) เมื่อโปรแกรมถูกประมวลผล (Execute) ก็จะทำคำสั่งภายใน main( ) ทันที โดยจะแสดงข้อความผ่านทาง Output Unit ของระบบ (จอภาพ) ออกมาว่า Hello! you are a java programmer ?

5. แหล่งข้อมูลอ้างอิง :
1) http://en.wikipedia.org/wiki/Class_(computer_science)
2) http://odanobunaka.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat%3DObject%2520Oriented%2520Programming

6. คำถามท้ายบท
1) จงอธิบายความสำคัญของคลาส (class) มาพอสังเขป
2) คลาสกับออปเจ็คต์ต่างกันอย่างไร ?
3) เครื่องหมาย { ……… } ใช้เพื่อวัตถุประสงค์ใด ?
4) จงเขียนคลาสเครื่องคิดเลข (calculator)
5) จงเขียนคลาสลิฟต์ (Lift)
6) จงอธิบายความแตกต่างระหว่าง Properties และ Method ของคลาสมาพอสังเขป
7) ในการเขียนโปรแกรมภาษาจาวา หากตั้งชื่อคลาสคนละชื่อกับซอร์สโค้ด (Source Code) จะมีผล
อย่างไร ?

ไม่มีความคิดเห็น: