The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search

Java

Java

ตวอย ั่างโปรแกรม public class Student { private String id; private String name; private double gpa; public Student(String id,String name, double gpa) { this.id = id; this name = name; this.name = name; this.gpa = gpa; }public void showDetails() { System.out.println("ID: "+id); System.out.println("Name: "+name); System.out.println("GPA: "+gpa); } }


แพคเกจ ็ ซอฟต์แวร์แพคเกจช็่วยในการจดการการพ ัฒนาโปรแกรมขนาดใหญ ั่ ในโปรแกรมภาษาจาวา ในโปรแกรมภาษาจาวาแพคเกจจะเปนทรวมของคลาสของภาษาจาวาหลายๆคลาส จจะเป็็นทรวมของคลาสของภาษาจาวาหลายๆคลาสี่ โปรแกรมอาจแบ่งเป็นแพคเกจและแพคเก็จย็่อย(Subpackage) แพคเกจจะเก็บไว็้ในไดเร็กทอรี่ (Directory) ซึ่งจะเป็นชื่อของแพคเกจ็


ตวอย ั่าง


โครงสร้างโปรแกรมภาษาจาวา รูปแบบโปรแกรมภาษาจาวามดีงนัี้ [<package_declaration>] [<import_declaration>] [<class_declaration>]


คาส ํ ่ัง package คาสํั่ง packageเป็นการระบุว่าคลาสอยู่ในแพคเกจใด็ รปแบบของค รูปแบบของคาสง ํั่ package package <package_name>[<sub_package_name>]; ตวอยาง ั่ package faculty.domain; โปรแกรมภาษาจาวาหน โปรแกรมภาษาจาวาหนงโปรแกรมจะมคาสง ึ่งโปรแกรมจะมีคาสํงั่ package packageไดเพยงคาสงเดยว ้เพยงคีาสํั่งเดยวี โดยจะเป็นคาสํั่งแรกของโปรแกรม กรณีท่ีไมม่ีคาสงํั่ packageคลาสจะถูกกาหนดํไว้ในแพคเกจ็ default


คาส ํ ่ัง import คาสํั่ง importเป็นการเรียกใช้คลาสในแพคเกจต็่างๆ รปแบบของค รูปแบบของคาสง ํั่ import import <package_name>[.<sub_package_name>].<Class_name> •หรอ ื import <package name>[ <sub package name>] import <package_name>[.<sub_package_name>].*; ตัวอย่าง import faculty.reports.Report; import faculty.reports.Report; •หรือ import java.awt.*; คาสํั่ง importจะอยู่ก่อนหน้าการประกาศคลาส โปรแกรมภาษาจาวาหนึ่งโปรแกรมสามารถมคีาสํั่ง importได้หลายคาสํั่ง


ค่ม ู ื อ Java API Java API เป็นข้อกาหนดทํวี่่าด้วยคลาสและอนเตอริ์เฟสต่างๆทกี่าหนดไวํ้ในแพคเกจ็ มาตราฐานของภาษาจาวา ค่ม ู อ ื Java API จะแสดงรายละเอียดต่างๆของคลาสหรืออินเตอรเฟสด์งนัี้ •ลาด ํ บการส ัืบทอดของคลาส •คาอธ ํิ บายเก่ียวกบคลาสและจ ัดประสงค ุ ท์วไป ั่ •รายชื่อคณล ุ กษณะต ั่างๆ ของคลาส •รายชอเมธอดตางๆ ื่อเมธอดต่างๆของคลาส •รายชื่อ Constructor ต่างๆ ของคลาส •คาอธ ํิ บายรายละเอียดของคณล ุ กษณะแต ั่ละตวของคลาส ั •คาอธ ํิ บายรายละเอียดของเมธอดแต่ละตวของคลาส ั •คาอธ ํิ บายรายละเอียดของConstructor แต่ละตวของคลาส ั


สรปเน ุ ื้ อหาของบท เทคโนโลยีภาษาจาวาประกอบไปด้วยองคประกอบหล ์กๆสามส ั่วนคือ JVM, JRE และ J2SDK คอมไพเลอรของภาษาจาวาจะท ์าหนํ้าที่แปลโปรแกรมภาษาจาวาให้เป็น โปรแกรมไบทโค์้ด และจะใช้จาวาอินเตอรพร์ีตเตอร์(JVM) ในการแปล โปรแกรมไบทโค์้ดให้เป็นภาษาเครื่อง ทาใหํ้โปรแกรมภาษาจาวาสามารถ ทางานข ํ้ามแพลตฟอรมได ์้ถ้าระบบคอมพิวเตอรน์ันม้ีJVM อยู่ JRE จะรนโปรแกรมไบท ัโค์้ดที่แปลมาจาก JVM ชดพฒนาโปรแกรมภาษาจาวา ุ ฒนาโปรแกรมภาษาจาวา ั Java 2 SDK ประกอบไปด ประกอบไปดวยโปรแกรมตางๆ ้วยโปรแกรมต่างๆ ที่สาคํญคัือ โปรแกรมคอมไพเลอร์(javac.exe) และโปรแกรมอินเตอร์ พรตเตอร ี์(java.exe)


สรปเน ุ ื้ อหาของบท แพลตฟอรมของ ์ Java ประกอบไปด้วย JVM และ Java API ซึ่ง Java 2 มี แพลตฟอรม์ 3 แบบคือ J2SE, J2EE และ J2ME โปรแกรมจาวาที่อย่บนแพลตฟอร ู ม์ J2SE สามารถพฒนาได ั้สองรปแบบค ู ื อ โปรแกรมจาวาประยกต ุ ซ์ึ่งจะทางานภายใตํ้JVM โดยตรง และโปรแกรมจา วาแอปเพลตซ็ึ่งจะทางานภายใตํ้เวบบราวเซอร็ท์ี่มีJVM โปรแกรมเช โปรแกรมเชงออปเจคจะมคานยามทสาคญสองคาคอ ิงออปเจคจะม็ีคานํิยามที่สาคํญสองค ัาคํือออปเจคและคลาส คและคลาส็ ออปเจคค็ือสิ่งต่างๆที่มีอย่ในชูีวิตประจาวํน จะประกอบไปด ั้วยคณลุกษณะ ั และเมธอด คลาสเปรียบเสมือนพิมพเข์ียวของออปเจค ออปเจ็คจะถ็กสร ู ้างมาจากคลาส ออปเจคหลายออ็ปเจคสามารถถ็กสร ู ้างจากคลาสหนึ่งคลาสได้


สรปเน ุ ื้ อหาของบท ภาษาจาวามีนิยามในการเขียนโปรแกรมเชิงออปเจค เพ็ื่อประกาศคลาส คณล ุ กษณะ เมธอด และ ออปเจ ัค็ การตงชั้ื่อในภาษาจาวา •สาหร ํ บคลาส น ัิยมขึนต้้นด้วยตวอักษรพ ัิมพใหญ ์่ •สาหร ํ บเมธอดและต ัวแปร น ัิยมขึนต้้นด้วยตวอักษรพ ัิมพเล์ก็ •ถ้าชื่อที่ตงขั้ึนม้ีมากกว่า1 คา นํิยมขึนต้้นคาใหมํ่ด้วยตวอักษรพ ัิมพใหญ ์่ •ตองไมตรงกบคยเวรด ้องไม่ตรงกบคัียเว์ิรด์ ชนิดข้อมลพ ู ื นฐานท ้ี่ใช้ในภาษาจาวามีทงหมด ั้ 8 ชนิดคือ char, byte, short, int long float double int, long, float, double และboolean boolean สวน่ String เปนชนดขอม ็นชนิดข้อมลคลาส ู


สรปเน ุ ื้ อหาของบท ข้อมลท ู ี่ เกบในหน็่วยความจาของชนํิดข้อมลแบบอ ู ้างอิง จะเป็นตาแหนํ่ง อ้างอิงที่เกบข็้อมลในหน ู ่ วยความจา แต ํ่ในกรณีของชนิดข้อมลแบบพ ู ื นฐาน ้ ข้อมลท ู ี่ เกบ ็ในหน่วยความจาจะเปํ็นค่าของข้อมลจร ู ิ งๆ ความแตกต่างระหว่างการแปลงข้อมลโดยอ ู ตโนม ัตัิและTypecasting การแปลงข้อมลโดยอ ู ตโนม ัตัิคือ การที่ชนิดข้อมลท ู ี่ มีขนาดเลกกว็่าถกแปลง ู ใหเปนชนดขอม ้เป็นชนิดข้อมลทมขนาดใหญกวาโดยอตโนมตูี่มีขนาดใหญ่กว่าโดยอตโนม ัตัิ Typecasting คือการที่จะต้องระบชนุิดข้อมลทูี่มีขนาดเลกกว็่าให้กบนัิพจน์ที่ มชนดขอม ีชนิดข้อมลขนาดใหญ ลขนาดใหญกวาู่่ โปรแกรมเชิงออปเจคจะม็ีคณล ุ กษณะเด ั่นอย่สามประการค ู ื อ การห่อห้ม ุ การสืบทอด และการมีได้หลายรป ู แบบ


สรปเน ุ ื้ อหาของบท modifier แบบ private ใช้เพื่อป้องกนการถ ักเรูียกใช้จากออปเจคอ็ื่น ซึ่งจะ แตกต่างจาก modifier แบบ public Constructor หมายถึง เมธอดที่มีชื่อเดียวกนกับชัื่อคลาส แต่จะไมม่ีการส่ง ค่ากลบและจะไม ัม่ีการใส่คียเว์ิรด์ void คียเว์ิรด์ this ใช้อ้างอิงคณล ุ กษณะและเมธอดของออปเจ ัคภายในเมธอด็ คาสํงั่ package เป็นการระบวุ่าคลาสอย่ใูนแพคเกจ็ใด คาสํงั่ import เป็นการเรียกใช้คลาสในแพคเกจต็่างๆ ค่ม ู อ ื Java API จะช่วยในการค้นหารายละเอียดของแพคเกจและคลาสต ็่างๆ ที่มีอย่ในช ู ดพ ุ ฒนาโปรแกรม ั Java 2 SDK


แบบฝึกหดั ข้อที่1 •ทดลองค้นหาข้อมลโดยใช ู ้ ค่ม ู ื อ API ภาษาจาวา ข้อที่2 •ทดลองเขียนโ โใ ปรแกรมโดยใช้หลกการของการห ั่อห้มเพ ุ ื่อซ่อนคณล ุ กษณะของ ั ออปเจค็


แบบฝึกหดั ข้อที่3 •ทดลองเขียนโปรแกรมจาลองระบบธนาคาร โดยกําหนดใหํ้มีคลาสที่ชื่อ Account ที่มีคณล ุ กษณะเพ ั ่ื อเกบยอดเง ็ิ นในบญชัีและมีเมธอดใ ฝ นการากเงิน ถอนเงิน และ การแสดงยอดเงินคงเหลือในบญชัีและมีคลาสที่ชื่อ Customerที่มีคณลุกษณะค ัือ ชื่อ นามสกล และบ ุญัชีธนาคาร โดยมีเมธอดในการกาหนดคํ่า (set) ของคณลุกษณะ ั และดึงค่า(get) จากคณลุกษณะเหล ั่านี้ทงนั้ี้กาหนดใหํ้เขียนโปรแกรมในแพคเกจท็ี่ ชื่อ Bank


Click to View FlipBook Version