คลาส Class
หน้าแรก JSP คลาส Class
คลาสคือโครงสร้างของสถานะ คุณสมบัติ และพฤติกรรมของวัตถุ ในภาษา
จาวาคลาสก็เหมือนกับชนิดข้อมูลชนิดหนึ่ง การสร้างอินสแทนซ์ก็ต้องใช้คลาส
เพื่อระบุว่าอินสแทนซ์ที่สร้างขึ้นมานั้นมีโครงสร้างอะไรบ้าง โดยอินสแทนซ์ที่เกิด
มาจากคลาสเดียวกันก็จะมีโครงสร้างเหมือนกันทุกอย่าง ในการสร้างคลาสจะต้อง
มีการกำหนดสมาชิกของคลาสดังนี้
- ข้อมูล
- ฟังก์ชัน หรือเมธอด
ดูตัวอย่างของคลาสรถยนต์ต่อไปนี้
Class Car {
public int color;
private int price;
String model;
public void break () {
}
public void drive () {
}
}
ลองนึกไปถึงเรื่องการโปรแกรมเชิงวัตถุ ตามโครงสร้างของคลาส Car จะมี
คุณสมบัติ 3 อย่างคือ สี ราคา และชื่อรุ่น มีพฤติกรรมหรือเมธอด 2 ตัวคือ เบรก
และขับเคลื่อน ตอนนี้เรามีเพียงแม่แบบเท่านั้น เราต้องสร้างตัวตนเพื่อให้รถ
ยนต์ใช้งานได้จริงด้วยการสร้างอินสแทนซ์ของคลาสนี้ก็จะมีวิธีการประกาศดังนี้
Car myCar = new Car();
ตอนนี้ myCar จะจองพื้นที่ในหน่วยความจำเพื่อเก็บตัวแปรและเมธอด
ไว้แล้ว หากสรุปว่าเราอยากจะทราบว่ารถของเราที่สร้างมานั้นมีสีอะไรเราก็จะ
เรียกชื่อของอินสแทนซ์ นั้นแล้วคั่นด้วยจุดและตามด้วยชื่อคุณสมบัติซึ่งในที่นี้
คือ สี รูปแบบการประกาศคือ
MyCar.color;
และหากเราอยากจะขับรถที่เราสร้างขึ้นมาก็มีวิธีการประกาศคล้ายๆกันคือ
MyCar.drive();
เพื่อให้เห็นภาพที่ชัดเจนขึ้น เราจะนำความรู้เรื่องคลาสมาประยุกต์เพื่อ
มาสร้างเอกสาร JSP ที่อ่านค่าข้อมูลต่างๆของไคลเอนต์แล้วแสดงข้อมูลเหล่า
นั้นกลับมา ในลักษณะ HTML โดยใช้ออบเจ็กต์ที่สร้างขึ้นมาให้อัตโนมัติ
(Implicit Object) 2 ตัวคือ Request กับ Out ให้เปิดโปรแกรมเอดิเตอร์ขึ้นมา พิมพ์โค้ดตาม source code ชื่อ SuperSnoop แล้วบันทึกไฟล์ชื่อ superSnoop.jsp ลงในไดเรกทอรี C:TomcatWebAppsTutorialExample
อธิบาย Source Code ชื่อ SuperSnoop
จากตัวอย่างได้สมมุติคลาส client ขึ้นมาแทนเครื่องคอมพิวเตอร์ของผู่ใช้
โดยกำหนดคุณสมบัติเครื่องของผู้ใช้ให้ประกอบด้วย ชื่อเครื่อง , พอร์ตที่ติดต่อ
กับเซิร์ฟเวอร์ , IP , URI และวิธีการติดต่อกับเซิร์ฟเวอร์ และให้มีพฤติกรรม
คือการแสดงค่าคุณสมบัติต่างๆของตัวมันเอง
เมื่อโปรแกรมเริ่มทำงานโปรแกรมจะสร้างออบเจ็กต์ชื่อ myClient ซึ่งเป็น
อินสแทนซ์ของคลาส client แล้วจึงกำหนดคุณสมบัติต่างๆของตัวมันเอง โดยค่าที่
เอามากำหนดนั้นได้จากออบเจ็กต์ request เมื่อกำหนดค่าคุณสมบัติครบแล้ว
เราก็จะแสดงผลค่าคุณสมบัติต่างๆที่อยู่ในตัวมัน โดยการเรียกเมธอด writeRow
ผลลัพธ์ที่แสดงออกมาก็จะประกอบด้วยค่าอากิวเมนต์ที่ส่งไปให้กับเซิร์ฟเวอร์
จะสังเกตว่าอากิวเมนต์ที่ส่งให้กับเมธอด write Row()นั้นจะมีออบเจ็กต์
out สำหรับแสดงออกทางบราวเซอร์ด้วยออบเจ็กต์ out มีชนิดเป็น JspWriter
อยู่ในคลาส javax.servlet.jsp
ขึ้นไปด้านบน
