วันพุธที่ 1 กรกฎาคม พ.ศ. 2558

หลักการเขียน Program เชิงวัตถุ (OOP)

หลักการเขียน Program เชิงวัตถุ (OOP).

วามคิดหลักที่สำคัญของการเขียนโปรแกรมเชิงวัตถุคือ คลาส (Class) และ ออบเจ็กต์ (Object)
Class คือตัวที่กำหนดโครงสร้างและพฤติกรรมของวัตถุ เมื่อต้องการนำไปใช้จริง เราต้องสร้าง instance ของ Class นั้นขึ้นมา instance ที่สร้างขึ้นมานั้นก็คือ Object นั่นเอง
ถ้าเปรียบ Class คือ โครงสร้างและ พฤติกรรมของวัตถุประเภทหนึ่ง instance หรือ Object ในภาษาเชิงวัตถุก็เปรียบเสมือนตัวแปร ในภาษาทั่วๆ ไป และ Class ก็คือชนิดข้อมูลนั่นเอง
Class เปรียบเสมือน พิมพ์เขียว ที่ กำหนดโครงสร้าง และแบบแปลน ต่าง ๆ ว่า Object ที่สร้างจาก Class ควรจะมีอะไรบ้าง
Object คือ instance ที่สร้างขึ้นมาจาก Class ใด Class หนึ่ง
** Class ไม่สามารถนำไปใช้ต่อได้ จะใช้ได้ก็ต่อเมื่อถูกสร้างเป็น Object แล้วเท่านั้น **

1. สมาชิกของ Class (Class Member)

สมาชิกของ Class มีสอง ประเภทคือ
สมาชิกที่เป็นข้อมูล (data members) อาจเป็น ค่าคงที่ ตัวแปรของข้อมูลชนิดพื้นฐาน , array , หรือ แม้แต่ instances ของ Class
สมาชิกที่เป็น Function (Method member) หรือเรียกสั้น ๆว่า method สมาชิกที่เป็น Function เรียกอีกอย่าง ว่า เป็น ส่วนของ พฤติกรรม ของ Class นั่น เอง
Example Class ของบัตรรายการบัญชีรายชื่อหนังสือ
Data member
ชื่อหนังสือ (Title)
ประเภท(type)
วันที่พิมพ์ (printed date)
ชื่อผู้แต่ง (author name)
สถานะ การยืม(status)
Method member หรือ พฤติกรรม
– getName();
– getStatus();
– getAuthorName();
– setStatus();

2. ขอบเขตการเข้าถึง (Access Modifier )

คือ กฎในการกำหนดว่า Class member ต่าง ๆ ไม่ว่าจะเป็น ตัวแปร หรือ method สามารถเรียกใช้งานได้แบบใดบ้าง
Modifier ของ class
Modifier
การใช้งาน
public
สามารถเรียกใช้งานได้จากทุกที่
private
สามารถเรียกใช้งานได้เฉพาะภายใน class ตัวเองเท่านั้น
default
สามารถเรียกใช้งานได้ภายใน package เดียวกันเท่านั้น
final
Class นี้ไม่สามารถ เปลี่ยนแปลงได้
Synchronizable
Class ที่ต้องประมวลผลแบบเข้าคิวคือต้องรอให้งานเสร็จทีละงาน

Modifier ของ Method
Modifier
การใช้งาน
static
สามารถเรียกใช้งานโดยที่ไม่จำเป็นต้องสร้าง instance ขึ้นมา และ การเรียกใช้งานทุกครั้งจะใช้ memory ที่เดียวกันตลอด
public
สามารถเรียกใช้งานได้จากทุกที่
private
สามารถเรียกใช้งานได้เฉพาะภายใน class ตัวเองเท่านั้น
default
สามารถเรียกใช้งานได้ภายใน package เดียวกันเท่านั้น
abstract
Method ที่ยังไม่เขียนการทำงานมีเพียงชื่อ method เท่านั้น
final
Class นี้ไม่สามารถ เปลี่ยนแปลงได้
Synchronizable
Class ที่ต้องประมวลผลแบบเข้าคิวคือต้องรอให้งานเสร็จทีละงาน
protected
เรียกประมวลผลได้ ใน Class ตัวเอง และ Class ลูกเท่านั้น

Modifier ของ ตัวแปร(Variable)
Modifier
การใช้งาน
static
สามารถเรียกใช้งานโดยที่ไม่จำเป็นต้องสร้าง instance ขึ้นมา และ การเรียกใช้งานทุกครั้งจะใช้ memory ที่เดียวกันตลอด
public
สามารถเรียกใช้งานได้จากทุกที่
private
สามารถเรียกใช้งานได้เฉพาะภายใน class ตัวเองเท่านั้น
default
สามารถเรียกใช้งานได้ภายใน package เดียวกันเท่านั้น
final
Class นี้ไม่สามารถ เปลี่ยนแปลงได้
protected
เรียกประมวลผลได้ ใน Class ตัวเอง และ Class ลูกเท่านั้น


ไม่มีความคิดเห็น:

แสดงความคิดเห็น