สรุปความรู้เกี่ยวกับการเขียนโปรแกรมภาษา Java

การเขียนโปรแกรมเชิงวัตถุ ภาษา Java

การเขียนโปรแกรมเชิงวัตถุ คืออะไร

    การเขียนโปรแกรมเชิงวัตถุ เป็นรูปแบบการเขียนโปรแกรมที่ใช้แนวคิดของออบเจ็ค ซึ่งในออบเจ็คนั้นจะประกอบไปด้วยสมาชิก 2 แบบ คือ ตัวแปรซึ่งเป็นข้อมูลหรือกำหนดคุณลักษณะของออบเจ็ค และเมธอด เป็นฟังก์ชันการทำงานที่อ็อบเจ็คสามารถทำได้ ในการสร้างออบเจ็คนั้นจะอยู่ภายใต้การกำหนดของคลาส โดยคลาสคือการกำหนดว่าออบเจ็คจะมีสมาชิกอะไรบ้าง และกำหนดการทำงานของเมธอด ดังนั้นออบเจ็คจะสร้างจากคลาส เราเรียกออบเจ็คว่า instances ของคลาส
    ภาษาต่างๆ เป็นจำนวนมากสนับสนุนการเขียนโปรแกรมเชิงวัตถุ เช่น Java C++C# Python PHP Ruby และภาษาอื่นๆ ซึ่ง Java ถือว่าเป็นภาษาของออบเจ็คอย่างเต็มรูปแบบ การเขียนโปรแกรมเชิงวัตถุนั้นเป็นการพัฒนารูปแบบของการเขียนโปรแกรมไปอีกขั้นจากการเขียนโปรแกรมแบบเดิมที่เราเคยเขียนคือ Procedural programming

คุณสมบัติของ OOP

    การเขียนโปรแกรมเชิงวัตถุ มีข้อดีและข้อได้เปรียบจากการเขียนโปรแกรมแบบเดิมมากมาย ซึ่งสิ่งที่สำคัญที่สุดของมันคือการนำโค้ดของโปรแกรมกลับมาใช้ใหม่ และคุณสมบัติอื่นๆ ดังนี้
  • Code reuse: การนำโค้ดกลับมาใช้ใหม่ ได้อย่างมีประสิทธิภาพ
  • Maintenance: ง่ายต่อการบำรุงรักษาและปรับปรุง แต่ละคลาสจะมีขอบเขตการทำงานและเมธอดของมันเอง
  • Classes: คลาสที่สร้างขึ้นนั้น สามารถนำไปสร้างเป็นออบเจ็คได้ไม่จำกัด และแต่ละออบเจ็คมีสมาชิกเป็นของมันเอง
  • Inheritance: คุณสมบัติการสืบทอด คลาสสามารถสืบทอดจากคลาสอื่นได้ ซึ่งเป็นการ reuse code และพัฒนาต่อเดิมความสามารถจากคลาสเดิมที่มีอยู่
  • Polymorphism: คุณสมบัติของออบเจ็คที่หลากหลายรูปแบบ ซึ่งสามารถจัดการได้จาก Base คลาสของมัน
  • Encapsulation: เป็นคุณสมบัติการห่อหุ้ม เป็นแนวคิดแบบนามธรรมที่ว่าคุณไม่จำเป็นต้องรู้ว่าเมธอดหรือในคลาสนั้นทำงานยังไง แต่มันสามารถทำงานได้สำเร็จและให้ผลลัพธ์แก่คุณได้
  • Abstraction: คือการอธิบายการทำงานของคลาสและเมธอดในแบบนามธรรม เพื่อนำไปใช้สำหรับออบเจ็คที่มีการทำงานแตกต่างกัน เช่น เราบอกว่าสัตว์สามารถเคลื่อนที่ การเคลื่อนที่คือการบอกอย่างเป็นนามธรรม เพราะวา่สัตว์แต่ละตัวมีวิธีการเคลื่อนที่ที่แตกต่างกัน เช่น สุนัขจะเดิน นกจะบิน ส่วนเต่าจะคลาน เป็นต้น
    ข้างบนนั้นเป็นคุณสมบัติของการเขียนโปรแกรมแบบออบเจ็ค ที่มีความสำคัญและมันใช้กับการเขียนโปรแกรมในขั้นสูง อย่างไรก็ตามในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับมันทั้งหมด

คลาสและออบเจ็ค

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

การเขียน Flowchart ภาษา Java


     การเขียน Flowchart เราจะมารู้จัก Flowchart กันก่อน
คือ รูปภาพหรือสัญลักษณ์ ที่ใช้เขียนแทนคำอธิบาย ข้อความ 
หรือคำพูดที่ใช้ในอัลกอริทึม เพราะการที่จะเข้าใจขั้นตอนได้ง่ายและตรงกันนั้น  การใช้คำพูดหรือข้อความอาจทำได้ยากกว่าการใช้รูปภาพหรือสัญลักษณ์ ผังงานสามารถแบ่งได้เป็น 2  ประเภทใหญ่ ๆ คือ
1. ผังงานระบบ (System Flowchart) 
เป็นผังงานที่แสดงขั้นตอนการทำงานในระบบงานหนึ่ง ๆ ในลักษณะของภาพกว้าง ๆ  แต่จะไม่เจาะลึกลงไปว่าในระบบงานย่อย ๆ นั้นจะมีการทำงานหรือวิธีการทำงานอย่างไร  ผังงานจะแสดงทิศทางการทำงานในระบบ ตั้งแต่เริ่มต้นว่าข้อมูลเกิดขึ้นครั้งแรกที่ใด เก็บอยู่ในรูปแบบใด  และผ่านขึ้นตอนการประมวลผลอย่างไร อะไรบ้าง (แต่จะไม่เน้นถึงวิธีการประมวลผล)  จนสุดท้ายผลลัพธ์ที่ได้เก็บอยู่ในรูปแบบใด
ตัวอย่างเช่น ผังงานระบบบริหารโรงเรียนแห่งหนึ่ง  ข้อมูลทะเบียนประวัติของนักเรียนจะเริ่มขึ้นครั้งแรกเมื่อมีการับสมัครนัก ศึกษาใหม่ จากแผนกรับสมัคร  และถือว่าเป็นข้อมูลพื้นฐานไปยังแผนกต่าง ๆ ในโรงเรียน เช่น แผนกปกครอง แผนกวัดผล หรือแผนกทะเบียน  ซึ่งในส่วนของแผนกทะเบียนอาจจะมีการแก้ไขข้อมูลบางอย่าง เช่น มีการแก้ไขชื่อ ที่อยู่ของนักศึกษา ก็ได้

2. ผังงานโปรแกรม (Program Flowchart)
เป็นผังงานที่แสดงถึงขั้นตอนในการทำงานของโปรแกรมซึ่งจะแสดงการทำงานตั้งแต่ เริ่มต้น  ในส่วนของการรับข้อมูล การคำนวณหรือการประมวลผล  จนถึงการแสดงผลลัพธ์  ผังงานนี้อาจสร้างจากผังงานระบบ  โดยผู้เขียนผังงานอาจดึงเอาแต่ละจุดที่เกี่ยวข้องกับการทำงานของคอมพิวเตอร์ เพื่อนำมาวิเคราะห์ว่า  ถ้าใช้คอมพิวเตอร์ทำงานตรงจุดนั้นเพื่อให้ได้ผลลัพธ์ตามต้องการ ควรจะมีขั้นตอนในการเขียนผังงานอย่างไร  เพื่อให้คอมพิวเตอร์ทำงาน  ซึ่งการเขียนผังงานนี้จะช่วยเพิ่มความสะดวกในการเขียนโปรแกรมของผู้เขียน โปรแกรมได้มาก  เพราะสามารถดูได้ง่ายว่าในแต่ละขั้นตอนการทำงานควรใช้คำสั่งอย่างไร
ประโยชน์ของผังงาน
1. ทำให้เข้าใจและแยกแยะปัญหาต่าง ๆ ได้ง่ายขึ้น
2. ผู้เขียนโปรแกรมมองเห็นลำดับการทำงาน รู้ว่าสิ่งใดควรทำก่อน สิ่งใดควรทำหลัง
3. สามารถหาข้อผิดพลาดของโปรแกรมได้ง่าย
4. ทำให้ผู้อื่นเข้าใจการทำงานได้ง่ายกว่าการดูจาก source code
5. ไม่ขึ้นกับภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้อื่นสามารถเรียนรู้และเข้าใจได้ง่าย

คําสั่ง if else ภาษา Java

การใช้ if, if else และ if else if ในภาษาจาวา
การใช้ if, if else และ if else if ในภาษาจาวาโดยทั่วไป เป็นการใช้เพื่อให้โปรแกรมตัดสินใจ เหมือนกับ if-then-else ใน Visual Basic, Pascal และ Fortran ถ้าเปรียบเป็นภาษาพูด if ก็แปลตรงตัวว่า ถ้า else ก็คือ ถ้าไม่
มีรูปแบบการใช้ดังนี้
if(condition){ 
 statement 1;
 statement 2;
 ...
}
else{
 statement 1;
 statement 2;
 ...
}
Note. condition คือเงื่อนไงที่ต้องการ statement ก็คือคำสั่งในโปรแกรม อาจประกอบด้วยหลายคำสั่ง ถ้าหากมีคำสั่งมากกว่าหนึ่งให้ใส่วงเล็บปีกกา{} ครอบคำสั่งทั้งหมดไว้ แต่ถ้ามีเพียงคำสั่งเดียวไม่ต้องใส่วงเล็บปีกกาก็ได้ ถ้าหากไม่มีคำสั่งใด ๆ ให้ใส่วงเล็บเปล่า หรือใส่เครื่องหมาย ; ไว้ก็ได้
condition เป็นข้อมูลขนิด boolean ซึ่งต้องเป็นจริงหรือเท็จเท่านั้น ถ้าเป็นจริงจะทำคำสั่งใน if แต่ถ้าเป็นเท็จจะทำในคำสั่ง else
การตั้งชื่อตัวแปลและข้อจำกัด ภาษา Java

กฎการตั้งชื่อตัวแปรในภาษาจาวา

ในการเขียนโปรแกรม เมื่อมีการใช้ตัวแปร ก็ต้องมีการประกาศชื่อของตัวแปร เพื่อให้สามารถเรียกใช้ตัวแปรนั้นได้ถูก ในการตั้งชื่อก็มีกฏ ในการตั้งชื่อตัวแปร ในภาษาจาวาดังนี้
- ชื่อต้องประกอบด้วย ตัวอักษร ตัวเลข $ หรือ _  - ชื่อห้ามขึ้นต้นด้วยตัวเลข - สามารถตั้งชื่อยาว ๆ ได้ - ชื่อตัวอักษรตัวเล็กกับตัวใหญ่ถือว่าต่างกัน - ต้องไม่ซ้ำกับคำสงวนของภาษาจาวา - ต้องไม่ซ้ำกับชื่ออื่นของโปรแกรมที่ใช้มาก่อน
ธรรมเนียมนิยมในการตั้งชื่อ
ในการตั้งชื่อตัวแปรนั้น จะมี ธรรมเนียมนิยมในการตั้งชื่อ กล่าวคือ สิ่งที่นิยมในการตั้งชื่อ เพื่อให้ดูง่าย และไม่เกิดความสับสน มักจะมีข้อปฏิบัติดังนี้
- ชื่อคลาสขึ้นต้นด้วยตัวอักษรภาษาอังกฤษตัวใหญ่ - ชื่อตัวแปรขึ้นต้นด้วยตัวอักษรภาษาอังกฏษตัวเล็ก - ตั้งชื่อให้สื่อความหมาย - ถ้ามีหลายคำ ให้ตั้งชื่อ แบบหลังอูฐ - หลีกเลี่ยงการใช้ $ และ _
ชื่อคลาส (class)
ควรจะเริ่มต้นคำด้วยตัวพิมพ์ใหญ่และเป็นคำนาม (noun) เช่น
String, Color, Button, System, Thread, CustomIconDemo เป็นต้น
ชื่อตัวแปร (variable)
ควรจะเริ่มต้นด้วยตัวพิมพ์เล็ก คำต่อไปเริ่มต้นด้วยตัวพิมพ์ใหญ่ เช่น
firstName, orderNumber เป็นต้น
ชื่อเมธอด (method)
ควรจะเริ่มต้นคำด้วยตัวพิมพ์เล็ก คำต่อไปเริ่มต้นด้วยตัวพิมพ์ใหญ่
และเป็นคำกริยา (verb) เช่น actionPerformed(), main(), print(),
println() เป็นต้น
ชื่ออินเตอร์เฟส (interface)
ควรจะเริ่มต้นคำด้วยตัวพิมพ์ใหญ่และเป็นคำคุณศัพท์ (adjective) เช่น
Runnable, Remote, ActionListener เป็นต้น
ชื่อแพกเก็จ (package)
ควรจะเป็นตัวเล็กทั้งหมด เช่น java, lang, sql, util เป็นต้น
ชื่อค่าคงที่ (constants)
ควรจะเป็นตัวใหญ่ทั้งหมด เช่น RED, YELLOW, MAX_PRIORITY















ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Android Studio คืออะไร?

สรุป โปรแกรมสารสนเทศส่วนบุคคล