1.Abstraction
2.Encapsulation
3.Modularity
4.Hierarchy
5.class
6.object
1. Abstraction
ในทาง OOP การทำ Abstraction คือการซ่อน attribute และ behaviour ทุกอย่างที่ไม่เกี่ยวข้องกับ object เพื่อช่วยลดความซับซ้อนและเพิ่มประสิทธิภาพในการใช้งานAbstraction คือการแสดงถึงคุณลักษณะและพฤติกรรมของ object เท่าที่จำเป็นต้องรับรู้และใช้งานโดยซ่อนส่วนที่เหลือเอาไว้เพื่อไม่ให้เกิดความสับสน(data hidding และ encapsulation) วิธีการสร้างให้ระบบเรามีคุณสมบัติ Abstraction คือใช้หลักของ Abstract Class หรือ Interface
"Abstraction เป็นการมองวัตถุ (Object) เฉพาะภายนอกเท่านั้น โดยไม่สนใจว่าวัตถุนั้นเกิดขึ้นได้อย่างไร
หรือมีการทำงานภายในอย่างไร"
คือมองแค่ว่า Class or Object ที่เราต้องการใช้นั้น ใช้งานมันได้อย่างไร
ไม่ต้องรู้ว่ามันทำงานอย่างไรในจาวาหรือ Object Programing อื่นๆ นั้นสำคัญมาก เพื่อ ReUse Object ที่คนอื่นเขียนมาแล้วรวมทั้ง API ด้วย เช่น ต้องการเปลี่ยน String 99 ไปเป็น Integer
เราก็ดูที่ API Docs ว่า ใช้คำสั่ง parseInt
(String s) ใน Class Integer เราก็ใช้คำสั่ง
Integer.parseInt(99); โดยไม่ต้องไปรู้ว่าข้างใน Class Integer ทำงานอย่างไร
Integer.parseInt(99); โดยไม่ต้องไปรู้ว่าข้างใน Class Integer ทำงานอย่างไร
2. Encapsulation
Encapsulation เป็นการรวมเอาสิ่งที่เราต้องการ
หรือที่สนใจ รวมไว้ด้วยกัน ซึ่ง ข้อมูลบางอย่าง เราจำเป็นต้องปกป้องเพื่อไม่ให้ มีการเปลื่ยนแปลง เราก็ใช้หลักการ information hiding ซึ่งก็คือ การ ปกป้องข้อมูล โดยใช้ access modify >>
private ,protected เป็นต้น
3. Modularity
- Modularity
เป็นการแยกสลายสิ่งที่สลับซับซ้อนให้เป็นส่วนประกอบที่สามารถจัดการได้
- Modularity
ช่วยให้คนสามารถทำความเข้าใจระบบที่สลับซับซ้อนได้
- Modularity
ช่วยให้คนสามารถทำความเข้าใจระบบที่สลับซับซ้อนได้
4. Hierarchy
-
Hierarchy คือการจัดกลุ่มสิ่งต่างๆตามระดับของ Abstraction โดยการใช้โครงสร้างแบบต้นไม้ (Tree structure)
- Hierarchy ช่วยทำให้ เร า เห็นถึงความเหมือนกันหรือแตกต่างกัน
ของสิ่งต่างๆ ได้ง่ายขึ้น
5. Class
Class คือ กลุ่มของ Object ที่มีโครงสร้างพื้นฐานพฤติกรรมเดียวกัน ดังนั้น Object ที่มีคุณสมบัติลักษณะเดียวกันนี้
จะรวมกลุ่มอยู่ใน Class เดียวกัน จึงสามารถสรุปได้ว่า Class
คือ ที่มีไว้เพื่อสร้าง Object นั่นเอง Class
นอกจากจะมีชื่อ Class ที่บอกคุณสมบัติของ Class
นั้นแล้ว ยังมี Attribute และ Operation
ต่างๆ ซึ่งเป็นตัวอธิบายรายละเอียด และหน้าที่ต่างๆด้วย
6. Object
Object เปรียบเหมือนกับเป็นวัตถุชิ้นหนึ่ง โดย Object จะถูกสร้างขึ้นมาโดย
Class ต้นแบบข้อมูล และดึงข้อมูลต่างๆ มาจาก Class นั้นๆ ทำให้ Object จะมีลักษณะตาม Class ที่สร้างมันขึ้นมา เช่น Class ของเครื่อง Computer
เมื่อเราสร้าง Object ขึ้นมาโดยใช้ Class เครื่อง Computerจะทำให้ Object นั้นๆ เป็นเครื่อง Computer แต่มีคุณสมบัติแตกต่างกันไปตามที่กำหนด
เช่น เป็นเครื่อง PC, Laptop ความเร็ว
ขนาดเครื่อง เป็นต้น
ไวยากรณ์ภาษาจาวา
- การประกาศ class
- การประกาศ attributes
- การประกาศ methods
- การประกาศ object
- การเรียกใช้ methods
- การเรียกใช้ attributes
1.การประกาศ Class
คลาสเปรียบเสมือนแม่พิมพ์ วัตถุเป็นผลิตผลที่เกิดจากแม่พิมพ์ ดังนั้น การที่จะสร้างวัตถุได้ จึงจำเป็นต้องอาศัยแม่พิมพ์หรือคลาสนี้ สำหรับการประกาศคลาสเริ่มต้นด้วยคำหลัก Class ตามด้วยชื่อของClass กำหนดขอบเขตด้วย {} และจบด้วยเครื่องหมาย เซมิโคลอน (;)
รูปแบบคำสั่ง
คุณลักษณะของออปเจ็ค คือตัวแปรหรือค่าคงที่ซึ่งประกาศภายในออปเจ็ค โดยมีตัวอย่างการประกาศคือ
- Modifier คือ คีย์เวิร์ดของภาษาจาวาที่อธิบายคุณสมบัติต่างๆ ของตัวแปรหรือค่าคงที่
- dataType คือ ชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลพื้นฐานหรือชนิดคลาส
- attributeName คือ ชื่อของคุณลักษณะ
- dataType คือ ชนิดข้อมูลซึ่งอาจเป็นชนิดข้อมูลพื้นฐานหรือชนิดคลาส
- attributeName คือ ชื่อของคุณลักษณะ
3.การประกาศ methods
ภาษาจาวากำหนดรูปแบบของการประกาศเมธอดที่อยู่ในคลาสไว้ดังนี้
- Modifier คือ
คีย์เวิร์ด ของภาษาจาวาที่ใช้ในการอธิบายระดับการเข้าถึง (Access modifier)
- Return_type คือ
ชนิดข้อมูลของค่าที่จะมีการส่งกลับ
- methodName คือ ชื่อของเมธอด
- Arguments คือ ตัวแปรที่ใช้ในการรับข้อมูลที่ออปเจ็คส่งมาให้
- Method body คือ คำสั่งต่างๆ
ของภาษาจาวาที่อยู่ในเมธอด
4.การประกาศ Object
คำสั่งที่ใช้ในการสร้างออปเจ็คจะมีรูปแบบ ดังนี้
- ClassName คือชื่อของคลาส
- Arguments คือค่าที่ต้องการส่งผ่านในการเรียก Contructor
4.การประกาศ Object
คำสั่งที่ใช้ในการสร้างออปเจ็คจะมีรูปแบบ ดังนี้
- objectName คือชื่อของออปเจ็ค
- new คือคีย์เวิร์ดของภาษาจาวาเพื่อใช้ในการสร้างออปเจ็ค- ClassName คือชื่อของคลาส
- Arguments คือค่าที่ต้องการส่งผ่านในการเรียก Contructor
5. การเรียกใช้ Method (Call Method)
เนื่องจากการสร้าง method นั้นจะต้องสร้างไว้ภายนอก body
ของ method
main() ซึ่งเป็น method
หลักในการเริ่มทำงานของโปรแกรม
ดังนั้นการเรียกใช้ method ที่สร้างขึ้นจะต้องถูกเรียกภายใน method main() โดยใช้ syntax ดังนี้
1. ในกรณีที่เป็น static method หรือ เมธอดที่ไม่จำเป็นต้องสร้างวัตุมาเรียกใช้
จะมีรูปแบบการเรียกใช้เมธอดดังนี้
ชื่อ Method();
ตัวอย่างเช่น
public class maxmin {
public static void ann(int a){
System.out.println(a);
}
//end method ann()
public static void main( String args[] ) {
ann(10); // call method ann()
} //end main()
} //end class
2. ในกรณีที่ไม่เป็น static method หรือ
เมธอดที่จำเป็นต้องสร้างวัตุมาเรียกใช้ จะมีรูปแบบการเรียกใช้เมธอดดังนี้
ชื่อวัตถุ.Method();
ดังนั้นการเรียกใช้งานเมธอดประเภทนี้จำเป็นต้องสร้างวัตถุขึ้นมาก่อนจึงจะเรียกใช้งานได้
ตัวอย่างเช่น
public class maxmin {
public void ann(int a) {
System.out.println(a); } //end method ann()
public static void main( String args[] ) {
maxmin a=new maxmin();
a.ann(10); // call method ann()
} //end main()
} //end class
ตัวอย่างโปรแกรม:
การเรียกใช้ method ในการขีดเส้น
Source
Code:
//NRandS.java
public
class NRandS {
public
static void main(String[] args)
{ Output:
line();
}//end
main()
public
static void line() {
for
(int i=1;i<=20 ;i++ )
{ System.out.print("="); }//end for
System.out.println(" ");
}
//end method line()
}//end
class
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();
น่าจะมีตัวอย่างที่ Run ออกมาบ้างนะครับที่เป็นโปรแกรม
ตอบลบ