การสร้างคลาสและออปเจ็ค
5.2.1 การประกาศคลาส
โปรแกรมภาษาจาวาแต่ละโปรแกรมจะประกอบไปด้วยคลาสอย่างน้อย หนึ่งคลาส โดยมีรูปแบบการประกาศ ดังนี้
[modifier] class Classname {
[class member]
}
– Modifier คือคีย์เวิร์ด ของภาษาจาวาที่ใช้ในการอธิบายระดับการเข้าถึง (Access modifier)
– class คือคีย์เวิร์ด ของภาษาจาวา เพื่อระบุว่าเป็นการประกาศคลาส
– Classname คือชื่อคลาส
– Class member คือเมธอดหรือคุณลักษณะ
ตัวอย่างการประกาศคลาส
public class Student { ……………………. }
ส่วนประกอบของคลาส (Class member)
1) Data Fields เป็นส่วนข้อมูลของ Class
– Primitive Type Value
– Object References Type Value
2) Methods เป็นส่วนกระบวนการทำงานของ Class
– Static Method
– Non-Static Method
3) Member Classes เป็น Class ที่อยู่ภายใน Class หรือเรียกว่า Inner Class
5.2.2 การประกาศคุณลักษณะ
คุณลักษณะของออปเจ็ค คือตัวแปรหรือค่าคงที่ซึ่งประกาศภายในออปเจ็ค
โดยมีรูปแบบการประกาศดังนี้
[modifier] dataType attributeName;
– Modifier คือคีย์เวิร์ดของภาษาจาวาที่อธิบายคุณสมบัติต่างๆ ของตัวแปรหรือค่าคงที่
– dataType คือชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลพื้นฐานหรือชนิดคลาส
– attributeName คือชื่อของคุณลักษณะ
ตัวอย่างการประกาศคุณลักษณะ
public class Student {
public String id;
public String name;
public double gpa;
}
5.2.3 การประกาศเมธอด
ภาษาจาวากำหนดรูปแบบของการประกาศเมธอดที่อยู่ในคลาสไว้ดังนี้
[modifier] return_type methodName ([argument]) {
[method body]
}
– Modifier คือคีย์เวิร์ด ของภาษาจาวาที่ใช้ในการอธิบายระดับการเข้าถึง (Access modifier)
– Return_type คือชนิดข้อมูลของค่าที่จะมีการส่งกลับ
– methodName คือชื่อของเมธอด
– Arguments คือตัวแปรที่ใช้ในการรับข้อมูลที่ออปเจ็คส่งมาให้
– Method body คือคำสั่งต่างๆ ของภาษาจาวาที่อยู่ในเมธอด
ตัวอย่างโปรแกรม
public class Student {
public String id;
public String name;
public double gpa;
public void setID(String ID) {
id = ID;
}
public void setName(String n) {
name = n;
}
public void setGPA(double GPA) {
gpa = GPA;
}
public void showDetails() {
System.out.println(“ID: “+id);
System.out.println(“Name: “+name);
System.out.println(“GPA: “+gpa);
}
}
5.2.4 การประกาศออปเจ็ค
ออปเจ็คทุกออปเจ็คในโปรแกรมภาษาจาวาจะต้องมีคำสั่งประกาศเพื่อระบุว่าออปเจ็คนั้นเป็นออปเจ็คของคลาสใด
โดยมีรูปแบบการประกาศ ดังนี้
[modifier] ClassName objectName;
– modifier คือคีย์เวิร์ดที่อธิบายคุณสมบัติต่างๆของออปเจ็ค
– ClassName คือชื่อของคลาสสำหรับออปเจ็คนั้น
– objectName คือชื่อของออปเจ็ค
ตัวอย่าง
Student s1;
5.2.5 การสร้างออปเจ็ค
คำสั่งที่ใช้ในการสร้างออปเจ็คจะมีรูปแบบ ดังนี้
objectName = new ClassName ([arguments]);
– objectName คือชื่อของออปเจ็ค
– new คือคีย์เวิร์ดของภาษาจาวาเพื่อใช้ในการสร้างออปเจ็ค
– ClassName คือชื่อของคลาส
– Arguments คือค่าที่ต้องการส่งผ่านในการเรียก Contructor
ตัวอย่าง
s1 = new Student s1;
5.2.6 การประกาศและการสร้างออปเจ็ค
คำสั่งที่ใช้ในการประกาศและสร้างออปเจ็ค สามารถที่จะรวมเป็นคำสั่งเดียวกัน
โดยมีรูปแบบคำสั่ง ดังนี้
[modifier] ClassName objectName = new ClassName ([arguments]);
ตัวอย่าง
Student s1 = new Student( );
5.2.7 การเรียกใช้สมาชิกของออปเจ็ค
การเรียกใช้คุณลักษณะของออปเจ็คมีรูปแบบ ดังนี้
objectName.attributeName;
การเรียกใช้เมธอดของออปเจ็คมีรูปแบบ ดังนี้
objectName.methodName([arguments]);
– objectName คือชื่อของออปเจ็คที่สร้างขึ้น
– methodName คือชื่อของเมธอดของออปเจ็คนั้น
– arguments คือค่าที่ต้องการส่งผ่านไปให้กับเมธอดของออปเจ็คนั้น
ตัวอย่าง
s1.setName (“Pangpond”);
ตัวอย่างโปรแกรม แบ่งออกเป็น 2 คลาส คือ TestCircle และ Circle
public class TestCircle {
public static void main(String[] args) {
Circle MyCircle = new Circle();
System.out.println(“Area is ” + MyCircle.findArea());
}
}// class TestCircle
class Circle {
double radius = 2.0;
double findArea() {
return radius * radius * 3.14159;
}
}// class Circle