8. คุณลักษณะของการเขียนโปรแกรมเชิงวัตถุ
1) การห่อหุ้ม (Encapsulation)
หมายถึงการจะเรียกใช้คุณลักษณะของอ๊อปเจ็ค จะทำาได้
โดยการเรียกผ่านเมธอดเท่านั้น
หลักการของการห่อหุ้ม คือการกำาหนดให้คุณลักษณะขอ
งอ๊อปเจ็คมีคุณสมบัติเป็น private และกำาหนดให้เมธอดมี
คุณสมบัติเป็น public โดยมีเมธอด get/set ไว้เพื่อเข้าถึง
data นั้นๆ จะเรียกว่า class นั้นๆ เป็น Full Encapsulation
class
9. 2) การสืบทอด (Inheritance)
หมายถึงการนิยามคลาสใหม่จากคลาสทีมี ่
อยูแล้วโดยคลาสใหม่สามารถทีจะนำาคุณลักษณะ
่ ่
และเมธอดของคลาสเดิมมาใช้ได้
คือ Class หนึงๆสามารถสืบทอดคุณสมบัติ
่
บางประการจาก Class อื่น แล้วเพิ่มคุณสมบัติ
เฉพาะของ Class นันเข้าไป
้
- Class ทีได้รับการสืบทอดคุณสมบัติเรียกว่า
่
Subclasses
- Class ทีเป็นต้นแบบเรียกว่า Superclass
่
เป็นการช่วยให้ไม่ต้องพัฒนา ส่วนทีซำ้าหลายๆ
่
รอบ (Reusable)
Class หนึ่งๆจะมี Superclass ได้เพียง Class
เดียวเท่านั้น (Single Inheritance)
ในภาษาจาวา จะใช้คียเวิร์ด extends เพือระบุ
์ ่
10. หมายถึง การที่สามารถตอบสนองต่อข่าวสาร
(เมธอด) เดียวกันด้วยวิธการที่ต่างกัน และ
ี
สามารถกำาหนดออปเจ็คได้หลายรูปแบบ
- Overridden method
- Dynamic Binding
ตัวอย่างที่เน้นโปรแกรมแบบ OOP
1) Object แรกของ class มักชื่อ main
โปรแกรมนี้สั้น และง่ายที่สุด
>> สร้างกล่อง 1 กล่องในกล่องมี object ทำางาน
พิมพ์ x เพียงอักษรเดียว
>> มองว่า class ก็คือกล่อง แต่ละกล่องคือที่เก็บ
object
class x {
public static void main(String args[]) {
System.out.println("x");
11. 2) เรียก object ใน class เดียวกัน โดยมองว่า class เสมือนกล
เก็บ object มากมาย
>> สร้างกล่อง 1 กล่องในกล่องมี 2 object และ object 1 เรียก
object 2 มาทำางาน
class x {
public static void main(String args[]) {
int i = 1;
System.out.println(i);
ok(); }
static void ok() {
System.out.println("xx");
}
}
// Result of this program
// 1
// xx