บทที่ 7 ฟังก์ชัน/คลาสอื่นๆ


การเขียนโปรแกรมด้วยภาษา Java

ภาษา Java
          Java เป็นภาษาโปรแกรมที่ใช้ในการเขียนคำสั่งสั่งงานคอมพิวเตอร์ ซึ่งพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ จำกัด (Sun Microsystems Inc.) ในปี ค.ศ. 1991
เป็นส่วนหนึ่งของโครงการวิจัยเพื่อพัฒนาซอฟต์แวร์ สำหรับอุปกรณ์อิเล็กทรอนิคส์ต่างๆ เช่น โทรทัศน์ โทรศัพท์มือถือ โดยมีเป้าหมายการทำงานเชื่อมต่อกับอุปกรณ์ฮาร์ดแวร์ต่างๆได้อย่างกว้างขวาง และมีประสิทธิภาพ ใช้เวลาน้อย รวดเร็วในการพัฒนาโปรแกรม และสามารถเชื่อมต่อไปยังแพล็ตฟอร์ม (Platform) อื่นๆได้ง่าย  Java เป็นภาษาสำหรับเขียนโปรแกรมภาษาหนึ่งที่มีลักษณะสนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) ที่ชัดเจน โปรแกรมต่าง ๆ ถูกสร้างภายในคลาส (Class) โปรแกรมเหล่านั้นเรียกว่า Method หรือ Behavior โดยปกติจะเรียกแต่ละ Class ว่า Object โดยแต่ละ Object มีพฤติกรรมมากมาย โปรแกรมที่สมบูรณ์จะเกิดจากหลาย object หรือหลาย Class มารวมกัน โดยแต่ละ Class จะมี Method หรือ Behavior แตกต่างกันไป


ข้อดีของภาษา Java
          1. ภาษา Java เป็นภาษาโปรแกรมที่ง่ายในการเรียนรู้ ภาษา Java มีคุณลักษณะต่างๆ ดังนี้ เช่น เชื่อมต่อข้ามแพล็ตฟอร์ม (Platforms) ต่างๆ ได้ สามารถเขียนโปรแกรมแบบ OOP (Object-Oriented Programming) ได้งายมาก โปรแกรมมีขนาดเล็ก และมีวิธีการเขียนไม่ยุงยากซับซ้อน ดังนั้นโปรแกรมที่เขียนด้วยภาษา Java จึงคอมไพล์ได้ง่ายตลอดจนตรวจสอบหาข้อผิดพลาดโปรแกรมได้ง่ายด้วย ภาษา java เป็นภาษาที่ทำความเข้าใจได้ง่ายมาก มีขนาดเล็กและยากที่จะเกิดข้อผิดพลาด เขียนคำสั่งได้ง่าย มีประสิทธิภาพในการทำงานและมีความยืดหยุ่นสูง

          2. ภาษา Java เป็นการเขียนโปรแกรมเชิงวัตถุ OOP (Object-Oriented Programming) การเขียนโปรแกรมเชิงวัตถุ เป็นเทคนิคการเขียนโปรแกรมให้มีลักษณะเป็นโมดูล (Module) แบ่งโปรแกรมเป็นส่วนๆ ตามสภาวะแวดล้อมการทำงานของโปรแกรมซึ่งเรียกว่า Method โดยทุก Method ก็คือ ระเบียบวิธี หรือการทำงานอย่างใดอย่างหนึ่ง โดยจะถูกรวบรวมอยู่ในคลาส ซึ่งหลักการเขียนโปรแกรมเชิงวัตถุจะมององค์ประกอบของโปรแกรมต่างๆเป็นคลาสหรือวัตถุ เรียกว่า Object ตัวอย่าง เช่น วัตถุที่มองเห็นได้ เช่น รถ สินค้า หรือ วัตถุที่ไม่สามารถมองเห็นได้ เช่น เหตุการณ์ต่างๆ  ข้อมูลต่างๆของ Object จะถูกซ่อนไว้คลาสเรียกว่า Data Encapsulation ซึ่งมีประโยชน์ในการแก้ไขข้อมูลหรือ Method ใดๆ ที่อยู่ในคลาส โดยไม่ส่งผลกระทบต่อการทำงานหรือเรียกใช้งานของ Object นั้น

          นอกจากนั้น Java ยังมีคุณสมบัติการสืบทอด (Inheritance) เพื่อส่งผ่านและถ่ายทอดลักษณะต่างๆ ของคลาสแม่ไปยังคลาสลูก ทำให้เขียนโปรแกรมได้ง่ายขึ้น และมีโครงสร้างการทำงานที่เข้าใจง่ายและมีความสัมพันธ์กัน
          3. ภาษา Java เป็นอิสระต่อแพล็ตฟอร์ม (Java is Platform-Independent)Java เป็นอิสระต่อแพล็ตฟอร์ม ทั้งระดับซอร์ซโค้ด (Source Code) และไบนารีโค้ด (Binary Code) ช่วยให้สามารถเคลื่อนย้ายโปรแกรมจากระบบคอมพิวเตอร์หนึ่งไปยังระบบคอมพิวเตอร์อื่นได้อย่างง่ายดาย เพราะว่าโปรแกรมที่เขียนด้วยภาษา Java ได้รวบรวมคำสั่งต่างๆไว้ในไลบรารีคลาสพื้นฐานต่างๆ เป็น Java Packages ช่วยอำนวยความสะดวกในการเขียนคำสั่ง เมื่อย้ายโปรแกรมไปยังแพล็ตฟอร์มอื่น โดยไม่ต้องเขียนซอร์ซโค้ด (Source Code) ขึ้นใหม่ทำให้ประหยัดเวลามาก เมื่อคอมไพล์ซอร์ซโค้ด จะได้ไฟล์ไบนารีโค้ด ที่เรียกว่า Bytecode การรันโปรแกรมของ Java จะทำงานในลักษณะอินเทอร์พรีเตอร์ (Interpreter) ของไฟล์ Bytecode  ซึ่งสามารถรันบนแพล็ตฟอร์มใดๆ ก็ได้ รวมทั้งระบบปฏิบัติการต่างๆ เช่น ระบบ Windows, Solaris, Linux หรือ MacOS โดยการแปลคำสั่งทีละคำสั่ง แพล็ตฟอร์มที่ Java ทำงานได้จะต้องประกอบด้วย 2 ส่วน คือ Java Virtual Machine (JVM) และ Java Application Programming Interface (Java API) โดย Java Virtual Machine คือเครื่องมือที่รวบรวมคำสั่งคอมไฟล์และรันโปรแกรม Java ส่วน Java API เป็นกลุ่มของคลาส และอินเตอร์เฟส (Interface) ที่รวมอยู่ในไลบรารีที่เรียกว่า Java Package เช่น java.awt, java.util หรือ java.io เป็นต้น ลักษณะการทำงานของ Java ที่เป็นอิสระต่อแพล็ตฟอร์มโดยการเขียนโปรแกรมเพียงครั้งเดียวแต่สามารถนำไปใช้ทำงานยังเครื่องอื่นๆ ได้ นั้นเรียกว่า Write once, Run anywhere นั้นเอง

          4. ภาษา Java มีระบบการทำงานและมีระบบความปลอดภัยที่ดี Java จะคำสั่งต่างๆที่เป็นส่วนประกอบของ Java API โดยมีการรวบรวมเป็นคลาสต่างๆไว้มากมาย ช่วยอำนวยความสะดวกในการเขียนโปรแกรม นอกจากนั้นยังมี Garbage Collector โดยมีระบบจัดการหน่วยความจำเพื่อเก็บขยะของโปรแกรมและคืนหน่วยความจำให้กับระบบ โปรแกรมที่เขียนด้วยภาษา Java มีระบบจัดการข้อผิดพลาดที่เกิดจากการทำงานของโปรแกรมที่เรียกว่า Exception Handling ด้วยทำให้สามารถตรวจสอบโปรแกรม (Debug) โปรแกรมได้ง่ายขึ้น Java มีระบบความปลอดภัยที่ดี เช่น โปรแกรม Java ที่ทำงานบนเว็บบราวเซอร์ (Web Browser) ที่เรียกว่า Java Applet นั้นจะทำงานเฉพาะบนเครื่องแม่ข่าย (Server) โดยไม่สามารถเข้าถึงเครื่องลูกข่าย (Client) ไปทำลายไฟล์ หรือไฟล์ระบบ (System file) ได้ ทำให้มีระบบความปลอดภัยที่ดี ป้องกันข้อมูลจากไวรัส และโปรแกรมที่เขียนด้วย Java ไม่มีพฤติกรรมเป็นไวรัส ได้


เครื่องมือที่ใช้ในการพัฒนาโปรแกรม
          เครื่องคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรมด้วยภาษา Java จะต้องมีโปรแกรมที่รวมคำสั่งต่างๆ ให้สามารถคอมไฟล์ และรันโปรแกรมได้ที่เรียกว่า Java Virtual Machine ซึ่งเป็นเครื่องมือที่ช่วยในการเขียน และพัฒนาโปรแกรม Java Virtual Machine จะอยู่ในโปรแกรมชุดพัฒนาจาวาที่เรียกว่า JDK (Java Development Kit) เป็นลิขสิทธิ์ของบริษัท Sun Microsystems ที่ใช้บริการฟรีบนอินเตอร์เน็ต ซึ่งประกอบด้วยคำสั่งต่างๆ และเครื่องมือที่ใช้ในการคอมไพล์ และรันโปรแกรมที่เขียนด้วยภาษา Java โดยการดาวน์โหลด (Download) โปรแกรมชุดพัฒนาจาวา JDK ได้ที่เว็บไซต์www.java.sun.com ซึ่งจะมีโปรแกรม JDK เวอร์ชันใหม่ตลอดเวลา และเลือกระบบปฏิบัติการที่ต้องการใช้ หลังจากนั้นได้ทำการติดตั้ง และลงโปรแกรมให้เรียบร้อย เครื่องมือ และคำสั่งที่ใช้ในการสร้างโปรแกรม Java จะถูกเก็บไว้ในโฟลเดอร์ของ Java ที่ชื่อ bin เช่น C:\java\bin เป็นต้น ประกอบด้วยคำสั่งที่สำคัญดังนี้
ไฟล์
คำอธิบาย
javac.exeคอมไพล์เลอร์ (Compiler) ของ Java เป็นคำสั่งที่ใช้คอมไฟล์ ตรวจสอบไวยากรณ์ของโปรแกรมโดยการแปลงไฟล์ซอร์สโค้ด ให้เป็นไฟล์ไบต์โค้ดที่เป็นคลาสของโปรแกรม
java.exeอินเตอร์พรีเตอร์ (Interpreter) ของ Java เป็นคำสั่งที่ใช้ในการรันไฟล์ไบต์โค้ดที่คอมไพล์ แล้วให้ทำงานตามคำสั่งของโปรแกรม
appletviewer.exeApplet Viewer เป็นคำสั่งที่ใช้ทดสอบและรันโปรแกรมแอปเพล็ต
javadoc.exeผลิตเอกสารของคำสั่ง API ใช้สร้างเอกสารของ Java API ในรูปแบบของ HTML จาก
ซอร์สโค้ดของ Java
javap.exeการแยกและถอดไฟล์ของ Java และพิมพ์ออกมาเป็นตัวแทนของไบต์โค้ด (Bytecode)
jdb.exeดีบักเกอร์(Debugger) ของ Java ใช้ในการตรวจสอบข้อผิดพลาดในโปรแกรมพร้อมรายงานข้อผิดพลาดที่เกิดขึ้น


การเขียนโปรแกรมด้วยภาษา Java ประกอบด้วยขั้นตอนการทำงานทั้งหมด 3 ขั้นตอน ดังนี้

          ขั้นตอนที่ 1 สร้างโปรแกรมซอร์สโค้ด โดยการพิมพ์คำสั่งต่างๆ ตามหลักการเขียนโปรแกรมด้วยภาษา Java โดยใช้เอดิเตอร์ (Editor) หรือโปรแกรมที่สามารถพิมพ์ข้อความ (Text Editor) และสามารถบันทึกไฟล์เป็นรหัสแอสกี (ASCII) ได้ เช่น โปรแกรม Notepad หรือ โปรแกรม Editplus เป็นต้น หลังจากเขียนโปรแกรมเสร็จเรียบร้อยแล้ว ต้องทำการบันทึกข้อมูลเป็นไฟล์ที่มีชื่อเดียวกันกับชื่อคลาสของ Java และใช้นามสกุลไฟล์เป็น java ตัวอย่างเช่น TestJava.java


          ขั้นตอนที่ 2 คอมไพล์โปรแกรมซอร์สโค้ด โดยการใช้คำสั่ง javac.exe ที่มากับการติดตั้ง JDK แล้ว มีรูปแบบคำสั่ง คือ javac  FileName.java เมื่อ FileName.java คือ ชื่อไฟล์ใดๆ ที่มีนามสกุล java  ถ้าไม่มีข้อผิดพลาดใดๆ ผลลัพธ์ที่ได้จากการคอมไพล์ จะได้ไฟล์ไบต์โค้ดที่ชื่อเดียวกับชื่อคลาส ตัวอย่างเช่น  javac  TestJava.java หลังจากการคอมไพล์จะได้ไฟล์ TestJava.class ข้อสำคัญในการคอมไพล์ไฟล์ซอร์สโค้ด คือต้องพิมพ์ชื่อไฟล์พร้อมนามสกุลเป็น java เสมอ และต้องพิมพ์ชื่อไฟล์ด้วยตัวอักษรตัวใหญ่หรืตัวเล็กให้ถูกต้องตามการตั้งชื่อคลาส

          ขั้นตอนที่ 3 ทำการรันโปรแกรม เพื่อดูผลลัพธ์ทางจอภาพโดยการรันไฟล์ไบต์โค้ด โดยการใช้คำสั่ง javac.exe ที่มากับการติดตั้ง JDK แล้วซึ่งมีรูปแบบคำสั่งคือ java  FileName เมื่อ FileName คือ ชื่อไฟล์ใดๆ ไม่ต้องมีนามสกุล

          ดังนั้นการรันโปรแกรมเพียงแค่พิมพ์ชื่อไฟล์ไม่ต้องพิมพ์นามสกุลของไฟล์ และต้องพิมพ์ชื่อไฟล์ด้วยตัวอักษรตัวใหญ่หรืตัวเล็กให้ถูกต้องตามชื่อคลาส  ตัวอย่างเช่น  java  TestJava  เมื่อ TestJava  คือชื่อไฟล์ TeatJava.class

  ดังนั้นสิ่งที่ต้องคำนึงก่อนเขียนโปรแกรมด้วยภาษา Java จะต้องทำขั้นตอนดังนี้

                    1. ต้องตรวจสอบว่าในเครื่องคอมพิวเตอร์มี JDK (Java Development Kit) และโปรแกรมที่ใช้เขียนซอร์สโค้ด (SourceCode) เช่น โปรแกรม Notepad, โปรแกรม Editplus หรือไม่ ถ้าไม่มีโปรแกรมข้างต้น ต้องทำการติดตั้ง และลงโปรแกรมดังกล่าวให้เรียบร้อยก่อน

                    2. ตรวจสอบโฟลเดอร์และไฟล์ของ JDK ที่ใช้ในการคอมไพล์ (compile) คือ javac.exe และรันโปรแกรม (run) คือ java.exe  ตัวอย่าง โฟลเดอร์ของไฟล์ java เช่น C:\j2sdk1.4.1_03\bin

                    3.  ทำการติดตั้งและแก้ไขโปรแกรม (Config) เครื่องมือในการเขียนโปรแกรม ด้วยโปรแกรม Editplus ได้ดังนี้
                              1. ไปทีเมนู  Tools เลือก Preferences หรือไปทีเมนู  Tools เลือก  Configure User Tools…



                              2. ไปที่เมนู  Tools เลือก User Tool Groups ไปที่  View  เลือก Toolbars/Views  เลือก User Toolbar
          3. สร้างโฟลเดอร์ เพื่อบันทึกไฟล์ซอร์สโค้ด เช่น  D:\work

          4. เลือก Directory ในโปรแกรม Editplus ให้ถูกต้องเพื่อใช้อ้างอิงในการรันโปรแกรม

          5. ทดสอบโปรแกรม Java โดย ไปที่เมนู File -> New -> Java
                    5.1 ตั้งชื่อ Class เช่น TestJava
                    5.2 บันทึกไฟล์ชื่อเดียวกับชื่อ Class เช่น TestJava.java
                    5.3 เลือก Tools->Compile
                    5.4 เลือก Tools->Run



ตัวอย่างการเขียนโปรแกรมด้วย Java
          ตัวอย่างแรกของการเขียนโปรแกรมด้วย Java จะเป็นตัวอย่างที่เขียนด้วยคำสั่งง่ายๆ คือ โปรแกรมที่แสดงข้อความ “Hello World!” ออกทางจอภาพ ดังตัวอย่างไฟล์ TestJava.java

                    class TestJava

                    {
                    public static void main(String[] args)
                    {
                    System.out.println("Hello World!");
                    }
                    }
  ไฟล์ TestJava.java  มีหลักการเขียนโปรแกรม ดังคำอธิบายต่อไปนี้

                    1. โปรแกรมทั้งหมดจะเขียนอยู่ภายในคลาส (Class) ที่ชื่อ TestJava เพียงคลาสเดียว
                    2. ภายในคลาสจะประกอบด้วยฟังก์ชัน(Method) ที่ชื่อ main ซึ่งทำหน้าที่เป็นฟังก์ชันหลักในการสั่งในโปรแกรมทำงาน
                    3. ภายในฟังก์ชัน main จะประกอบด้วยคำสั่งต่างๆ ที่ต้องการเขียนโปรแกรมด้วย Java เช่น System.out.println("Hello World!");



การแสดงผลทางจอภาพ
          คำสั่งที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ ได้แก่
          1. คำสั่ง  System.out.print() คือคำสั่งในการแสดงข้อความทางจอภาพในบรรทัดที่เคอ
เซอร์อยู่โดยไม่มีการขึ้นบรรทัดใหม่ มีรูปแบบการใช้งาน ดังนี้
          รูปแบบคำสั่ง 
                    System.out.print(String text);
                    System.out.print(int x);
                    System.out.print(char ch);

          เมื่อ
                    text  คือข้อความที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
                    x  คือตัวเลขที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
                    ch  คือตัวอักขระที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมาย ‘ และ  ’
          ตัวอย่างเช่น

                    System.out.print("Hello World!");
                    System.out.print(2500);
                    System.out.print(‘A’);
          ผลลัพธ์ทางจอภาพ
                    Hello World!2500A
         2. คำสั่ง  System.out.println() คือคำสั่งในการแสดงข้อความทางจอภาพแล้วขึ้น
บรรทัดใหม่ มีรูปแบบการใช้งาน ดังนี้
          รูปแบบคำสั่ง  
                    System.out.println();
                    System.out.println(String text);
                    System.out.println(int x);
                    System.out.println(char ch);

          เมื่อ
                    text  คือข้อความที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
                    x  คือตัวเลขที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมายคำพูด (“ … ”)
                    ch  คือตัวอักขระที่ต้องการแสดงผลทางจอภาพอยู่ในเครื่องหมาย ‘ และ  ’
          ตัวอย่างเช่น
                    System.out.println("Hello World!");
                    System.out.println();
                    System.out.println(2500);
                    System.out.println(‘A’);

          ผลลัพธ์ทางจอภาพ
                    Hello World!
                    2500
                    A

          กรณีต้องการแสดงข้อความพร้อมกันในคำสั่ง System.out.println() ในครั้งเดียว ให้ใช้เครื่องหมาย + ในการเชื่อมข้อมูล
           ตัวอย่างเช่น
                    System.out.println("Hello World!"+2500+ ‘A’);
                    System.out.println("Hello World!\n"+2500+ ‘A’);

          ผลลัพธ์ทางจอภาพ
                    Hello World!2500A
                    Hello World!
                    2500A

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

แสดงความคิดเห็น