หรือเข้าไปที่ facebook ชุมชนบทความไอที แวะเข้ามาชมกันได้ครับ
สวัสดีครับบทความนี้ เป็นบทความที่ 2 ต่อจากตอนที่แล้วนะครับ เรื่อง OOP ถ้าใครยังไม่ได้อ่านหรือยังไม่เข้าใจ ก็สามารถย้อนกลับไปอ่านโดยการคลิ้กที่นี้ ได้เลยครับ
หลังจากเราได้รู้ว่า OOP คือการเขียนโปรแกรมแบบ แยกย่อยโปรแกรมเป็นส่วนๆมาประกอบกันเพื่อเป็นแอพพลิเคชั่นที่สมบูรณ์ตัวหนึ่งขึ้นมาให้เราใช้ สำหรับบทความนี้ เราก็จะมาทำความเข้าใจในเรื่องส่วนย่อยๆที่เป็นส่วนประกอบต่างๆที่มีความสำคัญของโปรแกรม ส่วนเล็กๆที่เรียกว่า Class กันครับ ฮ่าๆๆ และยังมีส่วนอื่นๆอีกเยอะเลย จะมาเล่าต่อให้ฟังในตอนถัดๆไปนะครับ
class คืออะไร.......???
มีผู้ให้ความหมายหรือนิยามต่างๆมากมาย เช่น เป็นต้นแบบของสิ่งของ เป็นแบบแปลนโครงสร้างของบ้านที่จะต้องมีวัตถุมาเป็นส่วนประกอบ เป็นคุณสมบัติหรือคุณลักษณะของวัตถุ ขอสรุปง่ายๆแบบนี้นะครับ ก็คือ เป็นต้นแบบที่มีส่วนประกอบเพื่ออธิบายคุณลักษณะของวัตถุที่ถูกสร้างขึ้น เช่น คลาสรถยนต์ (ตัวอย่างสิ้นคิด)สามารถที่จะเป็นต้นแบบของ รถประเภทได้โดยคงคุณสมบัติของรถยนต์เอา คือ รถยนต์สามารถที่จะ บีบแตรได้,ล้อหมุนได้,เปิดไฟรถได้(ในส่วนนี้คือ method จะกล่าวในส่วนของ Object) มีส่วนประกอบต่างๆ เช่น สีรถ ขนาดของล้อรถ (ในส่วนนี้ คือ property หรือ เรียกอีกอย่างว่า Attribute จะกล่าวในส่วนของ Object)
ดังที่กล่าวไป class คือต้นแบบที่มีส่วนประกอบเพื่ออธิบายคุณลักษณะของวัตถุที่ถูกสร้างขึ้น วัตถุที่ถูกสร้างขึ้นนั้นก็คือ Object แล้วมันก็มีส่วนประกอบอยู่สองส่วน คือ Attribute และ method มันคือคุณลักษณะที่อธิบายไปข้างต้น
เป็นต้นแบบยังไง.....???
คลาสรถยนต์ ถ้าต้องการสร้าง รถบรรทุก หรือ รถแข่ง เราก็ นำคลาสประกาศเรียกออกมาใช้เพียงแต่ไม่มีคุณสมบัติที่เป็นลักษณะเฉพาะของรถบรรทุกหรือรถแข่ง รถบรรทุกสามารถที่จะบรรทุกของได้มากแต่ส่วนรถแข่งสามารถวิ่งได้เร็วมากๆ ก็จะต้องเขียนโปรแกรมเพิ่มเติมในส่วนนี้เข้าไป
เอาล่ะ...ผู้เขียนคิดว่า ถ้ายังไงเข้าใจ เรามาดูในส่วนที่เป็นการเขียนโค๊ดกันบ้างอาจจะทำให้เข้าใจได้มากขึ้นนะครับ
หลักการเขียน Class จะแบ่งเป็นสามส่วนใหญ่ๆ คือ
1. คุณสมบัติ (Field) คือตัวแปรที่เอาไว้เก็บค่าเป็นคุณสมบัติของ object
2. คอนสตรัคเจอร์ (Constructor) คือ เป็นการกำหนดการเรียกใช้คลาส หรือจะเรียกได้ว่าเป็น method ในลักษณะพิเศษ โดยทำหน้าที่กำหนดค่าต่างๆ ให้กับ Object คลิ๊กลิ้งที่นี้ได้เลยครับ
3. เมทธอด (Method) คือ ถ้าเป็นภาษา C ก็จะเรียกว่า Function เป็นการเขียนโปรแกรม เหตุการณ์หรือ สถานการณ์ต่างๆที่ต้องการให้เกิดขึ้น หรือโปรแกรมที่ต้องการเรียกใช้ เช่น การเหยียบคันเร่ง การบีบแตร เป็นต้น
ร่วมสนับสนุนนักเขียนด้วยการคลิ๊กลิ้ง ด้านล่าง ขอบคุณครับ รับรองไม่มีไวรัส
แล้วจะต้องรู้ไปทำไมล่ะ....???
ผมเอาตัวอย่างในการอ่าน Class มาจาก Android เพราะว่าส่วนใหญ่ นักพัฒนา จะใช้ Java ในการพัฒนา (มีบางกลุ่มใช้ Python นะครับ) ในวงกลมสีแดง ก็จะเป็น Library packet ส่วน วงกลมสีน้ำเงินก็คือ Class ก็เลือกมา 1 Class ครับ
BufferedInputStream เป็นคลาสที่เอาไว้สำหรับ อ่านไฟล์จากภายนอก ในส่วนนี้ ควรจะศึกษาเอาไว้เพื่อจะได้รู้ไว้หลายๆคลาสว่าเอาไว้ใช้อะไรบ้าง
นี่ครับ ก็จะมีสามส่วนที่กล่าวไป
การประกาศคลาส
ในการประกาศคลาสก็จะต้องเป็นไปตามโครงสร้างดังนี้
[modifier] class Classname {
[class member]
}
คำอธิบาย
- Modifier คือคีย์เวิร์ด ของ JAVA ที่ใช้ในการเข้าถึง (Access modifier)
- class คือคีย์เวิร์ด ของ JAVA เพื่อระบุว่าเป็นการประกาศคลาส
- Classname คือชื่อคลาส
- Class member คือเมธอดหรือคุณลักษณะ
ตัวอย่าง การประกาศคลาส
เมื่อเราได้คลาสมาแล้ว เราก็สร้าง Attribute และ Method ครับ
การประกาศคุณลักษณะ (Attribute)
คุณลักษณะของออปเจ็ค คือ ตัวแปรหรือค่าคงที่ซึ่งประกาศภายในออปเจ็ค
โดยมีรูปแบบการประกาศดังนี้
[modifier] dataType attributeName;
คำอธิบาย
- Modifier คือคีย์เวิร์ดของภาษาจาวาที่อธิบายคุณสมบัติต่างๆ ของตัวแปรหรือค่าคงที่
- dataType คือชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลพื้นฐานหรือชนิดคลาส เช่น void ,int ,float เป็นต้น
- attributeName คือชื่อของคุณลักษณะ
ร่วมสนับสนุนนักเขียนด้วยการคลิ๊กลิ้ง ด้านล่าง ขอบคุณครับ รับรองไม่มีไวรัส
การประกาศเมธอด (Method)
การกำหนดรูปแบบของการประกาศเมธอดที่อยู่ในคลาสไว้ดังนี้
[modifier] return_type methodName ([argument]) {
[method body]
}
คำอธิบาย
- Modifier คือคีย์เวิร์ด ของ JAVA ที่ใช้ในการอธิบายระดับการเข้าถึง (Access modifier)
- return_type คือชนิดข้อมูลของค่าที่จะมีการส่งกลับ
- methodName คือชื่อของเมธอด
- arguments คือตัวแปรที่ใช้ในการรับข้อมูลที่ออปเจ็คส่งมาให้
- method body คือคำสั่งต่างๆ ของ JAVA ที่อยู่ในเมธอด
จะขออธิบายคร่าวๆในส่วนของ method จะเห็นว่า
เมทธอดของ public void SetSpeed(String MOTOR) ในส่วน Argument จะเป็นส่วนรับค่าจากภายนอก เช่น keyboard เมื่อถูกป้อนข้อมูลแล้ว เช่น speed (ต้องพิมพ์ใหญ่พิมพ์เล็กให้ดีนะครับ)
ดังนั้น motor = MOTOR;
ก็จะกลายเป็น motor = speed ;
เพราะ MOTOR ในที่นี้ คือ STRING
คราวนี้เราก็จะได้ คลาสเอาไว้มาใช้งานกันแล้วครับผม
ในบทความนี้ ผมจะขอจบในเรื่อง class เอาไว้เท่านี้ก่อนนะครับ แต่จริงๆแล้วยังไม่จบ เพราะยังเหลือ เรื่องการประกาศและการสร้าง Object มาใช้งาน เพราะหลังจากนี้เราก็จะสร้าง Object จาก class ที่เราสร้างขึ้นมา
แต่กลัวว่าบทความนี้จะยาวเกินไปจะเบื่อซะก่อนนะครับ ฮ่าๆ
ย้อนกลับไปอ่านบทความเก่าได้ที่
JAVA : Object Oriented Programming (OOP) (ตอนที่ 1)
อ่านบทความถัดไป
(JAVA) : มาทำความเข้าใจเรื่อง คลาส (Class) และ ออปเจ็ค (Object) ในภาษาจาวากัน (ตอนที่ 2.2)
เขียนขึ้น เมื่อ 20 มกราคม 2558
ปรับปรุงล่าสุด เมื่อ 21 มกราคม 2558
ปรับปรุงล่าสุด เมื่อ 21 มกราคม 2558
--------------------------------------------
รับเขียนบทความ IT, ระบบเครือข่ายคอมพิวเตอร์ ,ระบบไฟฟ้า ,
ระบบออกอากาศโทรทัศน์
Songkiat Lowmunkhong
skl_songkiat@hotmail.com
--------------------------------------------
Programming ,JAVA ,python ,php ,html ,ccs
android ,mobile ,Automation ,Rasberry PI
Network, pentest hacking, security
รับเขียนบทความ IT, ระบบเครือข่ายคอมพิวเตอร์ ,ระบบไฟฟ้า ,
ระบบออกอากาศโทรทัศน์
Songkiat Lowmunkhong
skl_songkiat@hotmail.com
--------------------------------------------
Programming ,JAVA ,python ,php ,html ,ccs
android ,mobile ,Automation ,Rasberry PI
Network, pentest hacking, security