บทที่ 3 - wathinee . reru . ac . th

Download Report

Transcript บทที่ 3 - wathinee . reru . ac . th

Object-Oriented Programming
การเขียนโปรแกรมเชิงวัตถุ
ผู ส้ อน อ.วาทิน ี ดวงอ่อนนาม
บทที่ 2 : แนะนำ จำวำ
 แนะนำเครื่ องมือที่ใช้ในกำรพัฒนำโปรแกรมด้วยจาำวยำ
 แนะนำภำษำาำวยำ
 หลักกำรทำงำนของาำวยำ
รู้จักกับภาษา Java

ภาษา Java นั้นได้รับการพัฒนามาจากบริ ษทั Sun Microsystems ซึ่งเป็ น
บริ ษทั คอมพิวเตอร์ช้ นั นาของโลก โดยถือกาเนิดภายใต้โครงการ Green
Project ในปี 1996 ซึ่งมีหวั หน้าทีมพัฒนาที่ชื่อว่า James Gosling ซึ่ง
โปรแกรมเมอร์ Java ทัว่ โลกยกย่องว่าเป็ น บิดาของ Java
เหตุใดจึงนิยมเขียนโปรแกรมด้ วยภาษา Java

ภาษา Java นั้นมีปรัชญาการสร้างมาจากการที่ตอ้ งการทาให้เราเขียน
โปรแกรมเพียงครั้งเดียว แต่สามารถนาไปใช้งานได้ในอุปกรณ์ชนิดต่างๆ
ไม่จากัดว่าต้องเป็ นเพียงแค่คอมพิวเตอร์อย่างเดียว
ความสามารถของ Java Technology
เบือ้ งหลังการทางานของโปรแกรมภาษา Java
เราเขียนโปรแกรมของภาษา Java เราจะได้ Source Code ซึ่งเป็ นไฟล์ที่มี
นามสกุลเป็ น .java จากนั้นเรานา Source Code ไปคอมไฟล์ให้กลายเป็ น
เป็ น Java Byte Code (จะเก็บอยูใ่ นไฟล์ .class)
 เวลาที่ทางานจริ งในคอมพิวเตอร์ หรื ออุปกรณ์ใดๆ ก็ตาม Java Byte Code
จะถูกคอมไพล์อีกครั้งให้เป็ นภาษาเครื่ องเฉพาะคอมพิวเตอร์ หรื ออุปกรณ์
นั้นๆ เข้าใจ การคอมไพล์ครั้งนี้จะใช้ Java Virtual Machine (JVM)
คอมไพล์ และรัน

ในภำษำ Java โปรแกรมที่เรำพิมพ์เรี จกวย่ำ “Source code” ซึ่ ง
เรำ Save าะมีส่วยนขจำจหรื อนำมสกุล เป็ น (.java) เมื่อผ่ำน
กำร Compile าะได้ File ที่มีส่วยนขจำจเป็ น (.class) ซึ่ งตัวย
Compiler ของ Java าะมีชื่อวย่ำ (javac) และใน (.class) าะ
เก็บข้อมูลในลักษณะของ Bytecode ซึ่งถูกสร้ำงด้วยจ
กระบวยนกำรของ Java Virtual Machine (JVM)
โครงสร้ างด้ านการ Compile โปรแกรมภาษา
Java
Interpreter
Javac.exe
Java.exe
JVM
 Java Virtual Machine (JVM) สำมำรถทำงำนบน
ระบบปฏิบตั ิกำรที่แตกต่ำง ดังนั้นไฟล์ (.class ) าึงสำมำรถ
ที่าะ Run บนระบบปฏิบตั ิกำร Microsoft Windows, Solaris
, Linux, หรื อแม้แต่ MacOS
าำวยำและเครื่ องาักรสมมุติ(JVM)
 แผนผังแสดงกำรติดต่อของาำวยำและ JVM
Java program
Java program
Java program
Java virtual machine
Windows
Unix
Macintosh
Write Once Run Anywhere
Write Once Run Anywhere
โครงสร้ างการ Compiler และ Interpreter
รูปแบบกำรเขียนโปรแกรมในภำษำ Java
Java Technology
Java SE : ย่อมาจาก Java Standard Edition เป็ นรู ปแบบการเขียน
โปรแกรมสาหรับการทางานบนคอมพิวเตอร์ทวั่ ไป ถือว่าเป็ นรู ปแบบแรก
ของภาษา Java เป็ นเทคโนโลยีจาวาที่ออกแบบเพื่อนามาใช้พฒั นางานบน
เครื่ องคอมพิวเตอร์เดสก์ทอ้ ปและคอมพิวเตอร์เวิร์กสเตชัน
 Java EE
: ย่อมาจาก Java Enterprise Edition เป็ นรู ปแบบการเขียน
โปรแกรมกับระบบงานขนาดใหญ่ ถูกออกแบบมาเพื่อให้สามารถใช้ งาน
บนระบบเครื่ องเซิร์ฟเวอร์รองรับการทางานร่ วมกับ Servlets, JSP และ
XML

รูปแบบกำรเขียนโปรแกรมในภำษำ Java
Java Technology

Java ME : ย่อมาจาก Java Micro Edition เป็ นรู ปแบบการเขียน
โปรแกรมกับอุปกรณ์ขนาดเล็ก (คือมีหน่วยความจาน้อย) เช่น
โทรศัพท์มือถือ, เซ็ตท็อปบ็อกซ์ เป็ นต้น
มีเป้ าหมายสาหรับพัฒนาแอพพลิเคชันที่ ทางานบนอุปกรณ์ที่ใช้ทรัพยากร
จากัดไม่วา่ จะเป็ น ขนาดของหน่วยความจา ความสามารถในการการ
ประมวลผล เช่น โทรศัพท์มือถือ เพจเจอร์ ปาล์ม PDA เป็ นต้น
องค์ประกอบของเทคโนโลยีจาวา
 JVM (Java Virtual Machine)


ทำหน้ำที่เป็ นอินเตอร์พรี ตเตอร์
JRE(Java Runtime Environment)
ใช้ในกำรรันโปรแกรม
J2SDK(Java 2 Software Development Kit)
เป็ นชุดพัฒนำโปรแกรมภำษำาำวยำ
แพล็ตฟอร์ มของ Java
Platform
Platform หมำจถึง สภำพแวยดล้อมทำง Hardware หรื อ Software ในขณะ
ที่ Run Program ซึ่ง Platform ส่ วยนใหญ่ที่ได้รับควยำมนิจมได้แก่ Platform
บนระบบปฏิบตั ิกำร Microsoft Windows, Linux, Solaris OS, และ MacOS
และ Platform ส่ วยนใหญ่าะสำมำรถทำงำนร่ วยมกันได้ภำจใต้มำตรฐำนของ
ระบบปฏิบตั ิกำรเดีจวยกันแต่ Java Platform มีควยำมแตกต่ำงไปาำก
Platform อื่น ๆ นัน่ ก็คือสำมำรถ Run ได้ทุก ๆ ระบบปฏิบตั ิกำรโดจไม่จดึ
ติดอจูก่ บั ระบบปฏิบตั ิกำรและ Hardware
 ด้วยจเหตุน้ ี ทำให้ภำษำ Java เป็ นภำษำที่ได้รับควยำมนิ จมอจ่ำงรวยดเร็ วย

Java Platform มี 2 องค์ประกอบ
 Java Virtual Machine (JVM)
 Application Programming Interface (API)
แสดงตัวยอจ่ำงของ API และ Java Virtual Machine
(JVM) ที่ปกป้ องโปรแกรมกับกำรจึดติดอจูก่ บั
Hardware
JVM
 Java Virtual Machine (JVM)
เป็ นตัวยกลำงที่ภำษำาำวยำนำมำใช้เพื่อทำกำรแปลโปรแกรม
แล้วยส่ งต่อไปให้ระบบปฏิบตั ิกำราำกนั้นก็าะทำแปลงคลำสให้เป็ น
ภำษำเครื่ องและทำงำนต่อไป โดจโปรแกรมภำษำาำวยำทุกตัวย
าะต้องทำงำนอจูใ่ นภำจใต้ Java Virtual Machine (JVM) ซึ่งมีอจู่
ในตัวยไม่วยำ่ าะเป็ น Applet servlet และอื่น ๆ นอกาำกนี้แล้วย JVM
จังมีหน้ำที่ควยำมรับผิดชอบเตรี จมควยำมพร้อมสำหรับควยำม
ปลอดภัจอีกด้วยจ
API
 Application Programming Interface (API)

API าะรวยบรวยม Components สำหรับสร้ำงส่ วยนติดต่อกับผูใ้ ช้
ที่เรี จกวย่ำ Graphical User Interface (GUI) ซึ่ง API เป็ นกลุ่มของ
Libraries ที่มีควยำมสัมพันธ์กบั Classes และ Interfaces และ
Libraries ใน Java เรำาะเรี จกกันวย่ำ “packages”
ก่ อนจบบท

สาหรับบทนี้เราได้เรี ยนรู ้เกี่ยวกับภาษา Java ซึ่งเป็ นภาษาเขียนโปรแกรมที่
ได้รับการพัฒนาภายใต้แนวคิด Write Once Run Anywhere ทาให้เราเขียน
โปรแกรมเพียงครั้งเดียว แต่สามารถนาไปรัน หรื อใช้งานบนคอมพิวเตอร์
(หรื ออุปกรณ์อิเล็กทรอนิกส์) แบบต่างๆ ได้อย่างสะดวก โดย Java ได้รับ
การพัฒนาให้มีความสามารถหลายหลาย รองรับการทางานในรู ปแบบต่างๆ
และปัจจุบนั ก็มีโปรแกรมเมอร์มากมายทัว่ โลกศึกษา และติดตามอย่าง
ใกล้ชิด
บทที่ 3 เตรี ยมตัวให้ พร้ อมก่อนเขียนจาวา
เตรียมตัวก่ อนเขียนโปรแกรม
ตรวจสอบความพร้ อมของระบบ
ระบบปฏิบตั ิการ : มีได้ท้ งั Windows 98, XP, Vista, Linux, Unix, Solaris
(ในที่น้ ีผเู ้ ขียนจะใช้ระบบปฏิบตั ิการ Windows XP เป็ นหลัก)
 แรม และพื้นที่วา่ งในฮาร์ ดดิสก์ : สาหรับแรมควรมีขนาดขั้นต่าตามที่
ระบบปฏิบตั ิการได้กาหนดไว้ ส่ วนพื้นที่วา่ งฮาร์ดดิสก์ก่อนติดตั้ง JDK และ
EditPlus ไม่ควรต่ากว่า 500 MB
 ความสามารถในการเชื่อมต่ออินเทอร์ เน็ต : เพื่อดาวน์โหลด JDK และ
EditPlus รวมทั้งทดสอบการเขียนโปรแกรม Applet ด้วย

ดาวน์ โหลด และติดตั้ง JDK
1.
2.
สามารถติดตั้ง JDK ได้จากแผ่นซีดีได้เลย หรื อจะดาวน์โหลดจากเว็บไซต์
http://java.sun.com/javase/downloads/index.jsp
เมื่อดาวน์โหลดเสร็ จให้ดบั เบิ้ลคลิกที่ไอคอนของไฟล์ที่ดาวน์โหลดไว้
ดาวน์ โหลด และติดตั้ง JDK (ต่ อ)
3.
4.
อ่านข้อกาหนดแล้วคลิกปุ่ม
คลิกทีป่ ุ่ม
ดาวน์ โหลด และติดตั้ง JDK (ต่ อ)
5.
6.
รอสักครู่ ชุดติดตัง้ จะสอบถามให้ตดิ ตัง้ องค์ประกอบเพิม่ เติมคลิก
สุดท้ายก็คลิก
ปรับแต่ ง และทดสอบหลังติดตั้ง
1.
2.
เลือก Start > Programs > Accessories > Command Prompt
ที่หน้าจอ Command Prompt ให้ป้อนคาสั่ ง java –version เพื่อเป็ นการ
แสดงเวอร์ชนั ของ JDK ที่เราเพิ่งติดตั้งไป
ปรับแต่ ง และทดสอบหลังติดตั้ง (ต่ อ)
กาหนด PATH เพือ่ เรียกใช้ โปรแกรมต่ างๆ ใน JDK
3. คลิกขวาที่ My Computer แล้วเลือก Properties
4. คลิกที่แท็บ Advanced แล้วคลิกปุ่ม
5.
6.
ในกรอบ System variables คลิกเลือกตัวแปรระบบ Path ในรายการ คลิก
ปุ่ ม
พิมพ์ต่อท้ ายค่ าทีป่ รากฏในช่อง Variable Value ด้วยข้อความ
;C:\Program Files\Java\jdk1.6.0_16\bin; แล้วคลิกปุ่ม
การกาหนดค่ าตัวแปร CLASSPATH
7.
8.
ให้คลิกปุ่ ม
จะปรากฏหน้าต่าง New System Variable ขึ้นมา ให้เราตั้งชื่อตัวแปร
ระบบ และกาหนดค่ าของตัวแปรนั้น แล้วคลิกที่ปุ่ม
การกาหนดค่ าตัวแปร CLASSPATH (ต่ อ)

จะเห็นว่ามีตวั แปรระบบ CLASSPATH สร้างขึ้นมาใหม่ จากนั้นคลิกปุ่ ม
Development Tool
 Jbuilder
 Oracle JDeveloper
 Gel
 BlueJ
 Java Forte
 EditPlus
สาหรับเขียนโปรแกรม Java
- Borland JBuilder : ช่วยจให้กำรเขีจนโปรแกรมง่ำจขึ้น เหมือนกับกำร
เขีจนโปรแกรมประเภท Visual ภำษำอื่น ๆ (แต่ไม่ฟรี ) เป็ นผลิตภัณฑ์ของ
บริ ษทั Borland สำมำรถ Download เพื่อ
 ทดลองใช้งำนได้ที่ www.borland.com
 - Sun One Studio : เป็ นผลิตภัณฑ์ของบริ ษท
ั Sun Microsystem
สำมำรถ Download เพื่อทดลองใช้งำนได้ที่ http://java.sun.com
 -Editplus : มีควยำมสำมำรถในกำรรองรับภำษำเขีจนโปรแกรมได้หลำจ
ภำษำ สำมำรถ Download เพื่อทดลองใช้งำนได้ที่ www.editplus.com

สาหรับเขียนโปรแกรม Java




- BlueJ
: เป็ นผลิตภัณฑ์ของมหำวยิทจำลัจแห่ งหนึ่ งในเดนมำร์ ก เมื่อเขีจน
โปรแกรม Editor ชนิดนี้าะทำกำรสร้ำง Class Diagram ของโปรแกรมนั้น ๆ และจัง
เชื่อมโจงให้เห็นควยำมสัมพันธ์กบั Class หรื อโปรแกรมอื่น ๆ อีกด้วยจ
- NotePad : เป็ น Editor ที่มีอจูใ่ นระบบของ Windows โดจที่คุณไม่าำเป็ นต้องติดตั้ง
เพิ่ม แต่มีขอ้ เสี จคือ ไม่สำมำรถแสดงหมำจเลขบรรทัดของคำสั่ง (line of code) ได้
- NetBeans : ทำให้ง่ำจและสำมำรถลดเวยลำในกำรเขีจนโปรแกรม สำมำรถพัฒนำ
ระบบงำนได้เร็ วยขึ้น เหมำะสำหรับกำรใช้ Swing และสร้ำงกำรโต้ตอบแบบ GUI
สำมำรถ Download โปรแกรมเพื่อติดตั้งใช้งำนได้ที่ www.netbeans.org
นอกาำกที่กล่ำวยมำแล้วย จังมี Editor อื่น ๆ อีกที่รองรับกำรเขีจนโปรแกรมภำษำ Java
มารู้จักซอฟแวร์ สาหรับสร้ างโปรแกรมภาษา
 ซอฟต์แวยร์ ที่ใช้ชื่อวย่ำ EditPlus
 สำมำรถสร้ำงโปรแกรมได้หลำจภำษำโดจาะมีสีแจก
ประเภทของคำในแต่ละภำษำให้ ทำให้สะดวยกต่อ
กำรอ่ำนโปรแกรม
 ให้ทำกำรสร้ำง config เพื่อให้โปรแกรมเรำสำมำรถ
คอมไพล์ไฟล์โปรแกรมาำวยำและรันไฟล์โปรแกรม
าำวยำได้
ไฟล์สำคัญของาำวยำที่ตอ้ งใช้
 าำกโฟล์เดอร์ C:\Program Files\Java\jdk1.6.0_16\bin
 Javac.exe สำหรับคอมไพล์าำวยำ
 Java.exe สำหรับรันโปรแกรมาำวยำ
 Appletviewer.exe
สำหรับดู applet
สร้ำง config ใน EditPlus กันก่อนนะคะ
เลือก font ที่สำมำรถใช้ภำษำไทจได้
สร้ำง config ใน EditPlus กันก่อนนะคะ

ทำกำรสร้ำง config เพื่อให้โปรแกรม EditPlus สำมำรถคอมไพล์
และรันโปรแกรมภำษำาำวยำได้
กำรกำหนด Config User Tool
 Java Compile
 C:\Program Files\Java\jdk1.6.0_16\bin\Javac.exe
 Java RUN
 C:\Program Files\Java\jdk1.6.0_16\bin\Java.exe
สร้ ำง config ใน EditPlus กันก่ อน
คลิก add tool/Program แล้วยเติมข้อควยำมดังในภำพด้ำนล่ำงทั้งสอง
สร้ ำง config ใน EditPlus กันก่ อน (set compiler)
สร้ ำง config ใน EditPlus กันก่ อน(set interpreter)
เมือ่ ทาทุกอย่างเรียบร้อยแล้วให้กดปุ่ม OK เพือ่ ทาการบันทึกคาสัง่ ทีเ่ ราสร้างขึน้ ให้ EditPlus รู้จกั
สร้ ำง config ใน EditPlus กันก่ อน
คลิก add tool/Program แล้วยเติมข้อควยำมดังในภำพด้ำนล่ำงทั้งสอง
ซ้ำจ set compiler
ขวยำ set interpreter
เริ่ มใช้โปรแกรม EditPlus
เปิ ดโปรแกรม EditPlus ขึ้นมำ
 คลิกเมนู File/New เลือก java
 ลองพิมพ์ไฟล์ต่อไปนี้ แล้วยบันทึกในชื่อ HelloWorld.java

class HelloWorld
{
public static void main(String[] args)
{
System.out.println("Hello World! สวัสดี ชำวโลก");
}
}
ลองสร้ างโปรแกรมแรกกันเถอะ
compile ด้ วยการกด Ctrl + 1
หลังจาก compile เราจะได้ ไฟล์ .class(Byte
Code)
run ด้ วยการกด Ctrl + 2
Output
ก่ อนจบบท
สาหรับบทนี้เราได้เรี ยนรู ้สิ่งจาเป็ น และการเตรี ยมตัวเพื่อเขียนโปรแกรมกับ
ภาษา Java โดยได้แนะนาให้รู้จกั กับเครื่ องมือชนิดต่างๆ รวมถึง JDK ที่เป็ น
เสมือนหัวใจของการเขียนโปรแกรมในภาษา Java
 เราได้ติดตั้ง JDK เวอร์ ชน
ั ล่าสุ ด คือ Java SE 6.0 ซึ่งอาจจะเปลี่ยนแปลง
เวอร์ชนั อื่นๆ ได้ แต่เชื่อว่าสาหรับการเขียนโปรแกรมระดับเบื้องต้นจะ
สามารถใช้เวอร์ชนั 6.0 ได้เป็ นต้นไปโดยไม่จาเป็ นต้องเปลี่ยนแปลงใดๆ
 หลังจากติดตั้ง JDK เรี ยบร้อยแล้วเราจึงเริ่ มติดตั้งเครื่ องมือช่วยเขียน
โปรแกรมคือ Editplus ซึ่งอานวยความสะดวกในการเขียนโปรแกรม, การ
คอมไพล์ และการรัน ได้มากกว่ารู ปแบบเดิมๆ ที่เคยใช้คาสัง่ ในแบบ
Command Line
