2. ไวยากรณ์ภาษาจาวาของ
1 การประกาศ class
2 การประกาศ attributes
3 การประกาศ methods
4 การประกาศ object
5 การเรียกใช้ methods
6 การเรียกใช้ attributes
1 การประกาศ class
2 การประกาศ attributes
3 การประกาศ methods
4 การประกาศ object
5 การเรียกใช้ methods
6 การเรียกใช้ attributes
1.การประกาศ Class
คลาสเปรียบเสมือนแม่พิมพ์ วัตถุเป็นผลิตผลที่เกิดจากแม่พิมพ์ ดังนั้น การที่จะสร้างวัตถุได้ จึงจำเป็นต้องอาศัยแม่พิมพ์หรือคลาสนี้ สำหรับการประกาศคลาสเริ่มต้นด้วยคำหลัก Class ตามด้วยชื่อของClass กำหนดขอบเขตด้วย {} และจบด้วยเครื่องหมาย เซมิโคลอน (;)
รูปแบบคำสั่ง
รูปแบบคำสั่ง
class ชื่อคลาส
{
// คำสั่ง
// คำสั่ง
}
ตัวอย่าง
public class person
{
.
.
}
คุณลักษณะของออปเจ็ค คือตัวแปรหรือค่าคงที่ซึ่งประกาศภายในออปเจ็ค โดยมีตัวอย่างการประกาศคือ
[modifier] dataType attributeName;
- Modifier คือ คีย์เวิร์ดของภาษาจาวาที่อธิบายคุณสมบัติต่างๆ ของตัวแปรหรือค่าคงที่
- dataType คือ ชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลพื้นฐานหรือชนิดคลาส
- attributeName คือ ชื่อของคุณลักษณะ
3 การประกาศ methods
- Modifier คือ คีย์เวิร์ด ของภาษาจาวาที่ใช้ในการอธิบายระดับการเข้าถึง (Access modifier)
- Return_type คือ ชนิดข้อมูลของค่าที่จะมีการส่งกลับ
- methodName คือ ชื่อของเมธอด
- Arguments คือ ตัวแปรที่ใช้ในการรับข้อมูลที่ออปเจ็คส่งมาให้
- Method body คือ คำสั่งต่างๆ ของภาษาจาวาที่อยู่ในเมธอด
4 การประกาศ object
- dataType คือ ชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลพื้นฐานหรือชนิดคลาส
- attributeName คือ ชื่อของคุณลักษณะ
3 การประกาศ methods
ภาษาจาวากำหนดรูปแบบของการประกาศเมธอดที่อยู่ในคลาสไว้ดังนี้
[modifier] return_type methodName ([argument]) {
[method body]
}
- Return_type คือ ชนิดข้อมูลของค่าที่จะมีการส่งกลับ
- methodName คือ ชื่อของเมธอด
- Arguments คือ ตัวแปรที่ใช้ในการรับข้อมูลที่ออปเจ็คส่งมาให้
- Method body คือ คำสั่งต่างๆ ของภาษาจาวาที่อยู่ในเมธอด
4 การประกาศ object
- การประกออปเจ็คทุกออปเจ็คในโปรแกรมภาษา จาวาจะต้องมีคำสั่งประกาศเพื่อร ะบุว่าออปเจ็คนั้นเป็นออปเจ็คขอ งคลาสใด
โดยมีรูปแบบการประกาศ ดังนี้
[modifier] ClassName objectName;
- modifier คือคีย์เวิร์ดที่อธิบายคุณสมบัต ิต่างๆของออปเจ็ค
- ClassName คือชื่อของคลาสสำหรับออปเจ็คนั้ น
- objectName คือชื่อของออปเจ็ค
โดยมีรูปแบบการประกาศ ดังนี้
[modifier] ClassName objectName;
- modifier คือคีย์เวิร์ดที่อธิบายคุณสมบัต
- ClassName คือชื่อของคลาสสำหรับออปเจ็คนั้
- objectName คือชื่อของออปเจ็ค
5.การเรียกใช้ methods
แบบที่ 1 : เรียกใช้ Constructor และใช้พื้นที่ในหน่วยความจำ
แบบที่ 2 : แยกประกาศใช้คลาสและใช้พื้นที่ในหน่วยความจำ
แบบที่ 3 : ใช้พื้นที่ในหน่วยความจำ และเป็นการเรียกใช้ constructor ซึ่ง class นี้ ต้องอยู่ใน Directory เดียวกัน
แบบที่ 4 : เรียกใช้ method Fly() แต่จะเรียก constructor มาก่อน ถ้า class นั้นมี constructor
แบบที่ 5 : เมื่อสร้างวัตถุขึ้นมา สามารถเรียกใช้ method อื่น โดย constructor ทำงานเฉพาะครั้งแรก
แบบที่ 6 : แสดงตัวอย่างการเรียก main และต้องส่ง Array of String เข้าไป
แบบที่ 7 : เรียกใช้ method ภายในคลาสเดียวกัน
แบบที่ 8 : เรียกใช้ method แบบอ้างชื่อคลาส ในคลาสเดียวกัน
แบบที่ 9 : เรียกใช้ method แบบไม่กำหนด method เป็น Static พร้อมรับ และคืนค่า
แบบที่ 10 : เรียกใช้ method ภายในคลาสเดียวกัน โดย method สามารถรับ และส่งค่าได้
แบบที่ 11 : ใช้ extends เพื่อการสืบทอด (Inheritance)
แบบที่ 12 : ใช้ extends เพื่อการสืบทอด (Inheritance) แบบผ่าน constructor
6.การเรียกใช้ attributes
class hello1 {
public static void main(String args[]) {
TAirPlane abc = new TAirPlane();
}
}
class hello2 {
public static void main(String args[]) {
TAirPlane abc;
abc = new TAirPlane();
}
}
class hello3 {
public static void main(String args[]) {
new TAirPlane();
}
}
class hello4 {
public static void main(String args[]) {
new TAirPlane().Fly();
}
}
class hello5 {
public static void main(String args[]) {
TAirPlane abc = new TAirPlane();
abc.Fly();
abc.Land();
}
}
class hello6 {
public static void main(String args[]) {
TAirPlane abc = new TAirPlane();
String a[] = {}; // new String[0];
abc.main(a);
}
}
class hello7 {
public static void main(String args[]) {
minihello();
}
static void minihello() {
System.out.println("result of mini hello");
}
}
class hello8 {
public static void main(String args[]) {
hello8 x = new hello8();
x.minihello();
}
static void minihello() {
System.out.println("result of mini hello");
}
}
:: ผลลัพธ์คือ 8
class hello9 {
public static void main(String args[]) {
hello9 xx = new hello9();
System.out.println(xx.oho(4));
}
int oho(int x) { return (x * 2); }
}
:: เรียก method ใน static ตัว method ที่ถูกเรียกต้องเป็น static ด้วย
class hello10 {
public static void main(String args[]) {
System.out.println(oho(5));
}
static int oho(int x) {
x = x * 2;
return x;
}
}
:: Constructor ของ TAirPlane จะไม่ถูกเรียกมาทำงาน
class hello11 extends TAirPlane {
public static void main(String args[]) {
Fly();
Land();
}
}
:: Constructor ของ TAirPlane จะถูกเรียกมาทำงาน
class hello12 extends TAirPlane {
hello12() {
Fly();
Land();
}
public static void main(String args[]) {
new hello12();
}
}
6.การเรียกใช้ attributes
การเรียกใช้แบบที่ 1
syntax:ClassName object = new ClassName().attributeName;
example:Person bamboo = new Person().name;
การเรียกใช้แบบที่ 2
syntax:ClassName object = new ClassName();
object.attributeName;
example:Person bamboo = new Person();
bamboo.name = "bamboolabcode";
ไม่มีความคิดเห็น:
แสดงความคิดเห็น