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

Download Report

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

รายวิชา 5653309
การเขียนโปรแกรมเชิงวัตถุ
(Object Oriented
Programming)
2
ภาษาจาวา (Java)
JAVA
่
• เป็ นผลิตผลจากบริษท
ั ซ ัน ไมโครซิสเต็ม ซึงใน
่ ้บนชิพ
ขณะนั้นได ้คิดพัฒนาระบบซอฟต ์แวร ์เพือใช
่
ของเครืองใช
้ไฟฟ้ าขนาดเล็ก แต่ประสบปัญหากับ
่ นภาษาเชิงวัตถุ
การใช ้ภาษาซีพลัสพลัส(C++) ซึงเป็
่ ยมในขณะนั้น จึงได ้คิดพัฒนาภาษาใหม่ที่
ทีนิ
เหมาะสมกว่า
• ปัญหาของภาษา C++ คือ
่
่ ้อที่
– ชิพของเครืองใช
้ไฟฟ้ ามีหลายเบอร ์หลายยีห
่ างกัน
ชุดคาสังต่
่
– หน่ วยความจาของเครืองใช
้ไฟฟ้ ามีขนาดเล็ก
– ไม่มค
ี วามปลอดภัย
การออกแบบของภาษาจาวา
• เป็ นภาษาทีง่่ าย ต่อการเรียนและเข ้าใจ
• เป็ นภาษาเชิงวัตถุ
่ ความคงทน เพราะมีการดักจับ
• เป็ นภาษาทีมี
ข ้อผิดพลาด
่ ความปลอดภัย
• เป็ นภาษาทีมี
่ กระบบ “จาวาเป็ น
• เป็ นภาษาทีร่ ันได ้กับเครืองทุ
แพลตฟอร ์ม”
สถาปั ตยกรรมของจาวา
• สถาปัตยกรรมของจาวาประกอบด ้วยส่วนสาคัญ 4
ส่วนหลักคือ
– Java programming language
– Java class file
– Java API (Application Programming Interface)
– Java VM (Java Virtual Machine)
้
• โดย Java API และ Java VM ทังสองรวมกั
นเรียกว่า
Java Platform
สถาปั ตยกรรมของจาวา
Java programming language
Java class file
Java API
Java Virtual Machine
Computer System
Java Platform
Platform
• แพล็ตฟอร ์ม (Platform) หมายถึง hardware
่
หรือ software environment ทีโปรแกรมใช้
ใน
การร ัน
• ตัวอย่างของแพล็ตฟอร ์ม เช่น
่ ดตังบน
้
– Window2000, Linux, Solaris ทีติ
IBM
compatible PC
่ ดตังบนเครื
้
่ Mac เป็ นต ้น
– Mac OS ทีติ
อง
• โดยแพล็ตฟอร ์มส่วนใหญ่เป็ นการรวมกันของ
ระบบปฏิบต
ั ก
ิ าร (operating system) กับ
ฮาร ์ดแวร ์ (hardware)
• แต่ Java Platform คือ Software-only platform
จาวาเป็ นแพลตฟอร ์ม
่ ้สามารถร ันบน
• เนื่ องจากจาวาได ้ถูกพัฒนาเพือให
ระบบใดก็ได ้
้
• ดังนั้นจาวาจึงได ้สร ้างแพลตฟอร ์มของมันเองขึนมา
่ ้การแปลความของภาษาจาวาเป็ นหนึ่งเดียว
เพือให
เท่านั้น
่ กรสมมุตข
• จาวาได ้นาแนวคิดการจาลองเครืองจั
ึ้
ิ นมา
่
เรียกว่า java virtual machine (JVM) เพือมา
่ อยู่
ติดต่องานกับระบบทีมี
่
จาวาและเครืองจ
ักรสมมุต ิ
่ กร
• แผนผังแสดงการติดต่อของจาวาและเครืองจั
สมมุต ิ
Java program Java program Java program
Java virtual machine
Windows
Unix
Macintosh
แผนผังแสดงการทางานของภาษา
จาวา
java compiler
Java program
Java virtual
machine program
java interpreter
รู ปแบบของการเขียนโปรแกรมใน
ภาษา JAVA
่ กพัฒนาด ้วยภาษา JAVA ถูกแบ่งเป็ น 2
• โปรแกรมทีถู
รูปแบบหลักๆ คือ
่
่
– Java Application คือ โปรแกรม Java ทัวไปที
ทางานได ้ด ้วยตัวมันเอง (Stand Alone
Application เหมือนกันไฟล ์ .EXE ใน
่
้
Windows) ซึงสามารถใช
้งานได ้ทังบน
Windows ลีนุกซ ์และยูนิกซ ์ตระกูลต่างๆ
– Java Applet คือ โปรแกรม Java ขนาดเล็ก ซึง่
ร ันด ้วยตัวเองไม่ได ้ ต ้องถูกโปรแกรมเรียกไปใช ้งาน
และจะถูกนามาใช ้บนอินเตอร ์เน็ ตเท่านั้น
้
ขันตอนการด
าเนิ นของโปรแกรม
ภาษาจาวา
• Java Programming Language คือโปรแกรมที่
้
่ ่ในรูปเท็กซ ์ ที่
เราเขียนขึนโดยใช
้ภาษาจาวาซึงอยู
สามารถอ่านได ้ โดยมีนามสกุลของไฟล ์ (.java)
เรียกว่า ซอร ์ดโค้ด (source code)
• ทาการคอมไพล ์ซอร ์ดโค้ดเป็ น java class file
่ นามสกุล (.class) ซึงก็
่
หรือ ไบต ์โค้ด เป็ นไฟล ์ทีมี
่ ่ Java Virtual Machine เข ้าใจ
คือรูปของคาสังที
API
่
• API คือโค ้ดทีคอมไพล
์แล ้ว (compiled code) ซึง่
ช่วยให ้โปรแกรมสามารถดาเนิ นงานในส่วนของ
system services ของระบบปฏิบต
ั ก
ิ าร
• ชุด Java API มี 2 ชุดคือ
– Standard Edition API
– Standard Extension API
Java Virtual Machine
่
• Java Virtual Machine คือ ส่วนทีไปติ
ดต่องาน
โดยตรงต่อคอมพิวเตอร ์ ภายในประกอบด ้วย
่
– Class loader ทาหน้าทีโหลดไฟล
์คลาสจาก
โปรแกรมและ Java API
• Bootstrap class loader
• User-defined class loader
่ ดการไบต ์
– Execution Engine มีหลายรูปแบบเพือจั
โค ้ด อาทิเช่น Just in time, Adaptive optimizer
Java Platform
่ ้ร ันได ้โดยไม่ขนกั
• เนื่ องจากจาวาถูกพัฒนามาเพือให
ึ้ บ
่ นระบบปฏิบต
ระบบทีเป็
ั ก
ิ ารและฮาร ์ดแวร ์
้ จด
• แต่เนื่ องจากระบบต่างๆ เหล่านี มี
ุ ประสงค ์ในการใช ้
งานแตกต่างกัน จึงได ้ถูกออกแบบมาไม่เหมือนกัน
• ทางบริษท
ั ซ ันไมโครซิสเต็มจึงแบ่งจาวาแพล็ดฟอร ์ม
่
ออกเป็ น 3 รุน
่ เพือประโยชน์
ในการใช ้งานโปรแกรม
่ ด นั่นคือ
จาวาในแต่ละอุปกรณ์ให ้มีประสิทธิภาพทีสุ
– Java 2 Platform Standard
Edition(J2SE)
– Java 2 Platform Enterprise Edition
(J2EE)
Java™ 2 Platform Editions
ก่อนการเขียนโปรแกรมด้วยภาษา
จาวา
่ อไปนี เพื
้ อใช
่ ้ในการเขียน
เราต ้องทาการเตรียมสิงต่
โปรแกรมจาวา
่ อในการสร ้างและพัฒนาโปรแกรมภาษาจาวา
• เครืองมื
่ เราจะใช
้
ในทีนี
้ชุดพัฒนาของบริษท
ั ซ ันไมโครซิสเต็ม
่ ยกว่า Java 2 SDK ภายใน Java 2 SDK จะ
ทีเรี
ประกอบด ้วยส่วนหลักคือ Java Compiler, Java
Virtual Machine, Java Class Libraries, Java
่ ออืนๆ
้
AppletViewer, Java Debugger และเครืองมื
• เท็กซ ์เอดิเตอร ์ (Text Editor) ขอใช ้ EditPlus เพราะมี
่
หน้าตาทีสวยงาม
่
แรกเริมกับจาวา
่
• ดาวน์โหลดชุดพัฒนาภาษาจาวาทีเวบไซต
์
http://java.sun.com/j2se
Java virtual machine
Java Developer Kit
: JRE (Java Runtime Environment)
: JDK
้
้ ดพัฒนาภาษา
ขันตอนการติ
ดตังชุ
จาวา
้
้ อท
่ าการติดตัง้
• ดับเบิลคลิ
กไอคอนนี เพื
้
้ ดพัฒนาภาษา
ขันตอนการติ
ดตังชุ
จาวา
้
้ ดพัฒนาภาษา
ขันตอนการติ
ดตังชุ
จาวา
่
กาหนดเส้นทางของคาสังในชุ
ด
พัฒนาภาษาจาวา
่
• คลิกขวาทีไอคอน
My computer
• เลือก properties จากเมนู บอ๊ บ
อัพ
• จะปรากฏหน้าต่างดัง
ด ้านขวา
• คลิก Environment variable
่
กาหนดเส้นทางของคาสังในชุ
ด
พัฒนาภาษาจาวา
• เลือก path จาก System
variable
• คลิก Edit
่ ้อความในส่วนแถบสี
• เพิมข
ฟ้ า
;C:\j2sdk1.4.1_02\bin;.
้
ขันตอนการสร
้างโปรแกรมจาวา
A.java
1. editor
2. compiler
javac filename.java
3. interpreter
java filename
javac A.java
A.class
java A
มารู ้จักซอฟแวร ์สาหร ับสร ้าง
โปรแกรมภาษา
่ ้ชือว่
่ า EditPlus
• ซอฟต ์แวร ์ทีใช
• สามารถสร ้างโปรแกรมได ้หลายภาษาโดยจะมีสี
แยกประเภทของคาในแต่ละภาษาให ้ ทาให ้
สะดวกต่อการอ่านโปรแกรม
่ ้โปรแกรมเรา
• ให ้ทาการสร ้าง config เพือให
สามารถคอมไพล ์ไฟล ์โปรแกรมจาวาและร ันไฟล ์
โปรแกรมจาวาได ้
การสร ้าง config ใน EditPlus
่ ้โปรแกรม EditPlus
• ทาการสร ้าง config เพือให
สามารถคอมไพล ์และร ันโปรแกรมภาษาจาวาได ้
การสร ้าง config ใน EditPlus
คลิก add tool/Program แล ้วเติมข ้อความดังในภาพด ้า
ซ ้าย set compiler
ขวา set interpreter
่
เริมใช้
โปรแกรม EditPlus
้
• เปิ ดโปรแกรม EditPlus ขึนมา
• คลิกเมนู File/New เลือก java
่
เริมใช้
โปรแกรม EditPlus
้ ้วบันทึกในชือ่
• ลองพิมพ ์ไฟล ์ต่อไปนี แล
Welcome1.java
/**
A first program in Java.*/
public class Welcome1 {
/* main method begins execution of
Java application */
public static void main ( String args[] )
{
System.out.println(“Hello, Java”);
} // end method main
} // end class Welcome1
ลองสร ้างโปรแกรมแรก
ผลการ Compile
ผลการร ัน
แบบฝึ กหัด
• ลองแปลงโปรแกรม Welcome1.java ให ้แสดง
ข ้อความดังนี ้
Welcome to Java Programming!