ผลต่างระหว่างรุ่นของ "คลาส (คอมพิวเตอร์)"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Pattana (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
Jutiphan (คุย | ส่วนร่วม)
แทนที่ "ออปเจ็ค" → "อ็อบเจกต์" +แทนที่ "ฟังชั่น" → "ฟังก์ชัน"ด้วยสคริปต์จัดให้
บรรทัด 1:
ในการเขียน[[โปรแกรมเชิงวัตถุ]] '''คลาส''' (class) คือต้นแบบที่กำหนดคุณสมบัติและพฤติกรรมการทำงานของ[[ออปเจ็คอ็อบเจกต์]]ทึ่ถูกสร้างมาจากคลาสนั้นๆ
 
องค์ประกอบของคลาสมีสองส่วนหลักได้แก่
# ข้อมูล (data) หรือ คุณสมบัติ (property) สำหรับเก็บข้อมูลในการทำงานหรือบอกสถานะปัจจุบันของออปเจ็คอ็อบเจกต์ ตัวอย่างเช่น คลาสชนิดบัญชีธนาคารสามารถมีข้อมูลคือ เลขที่บัญชี, ชื่อเจ้าของบัญชี, และยอดเงินปัจจุบัน
# พฤติกรรมการทำงาน (method หรือ function) เป็นส่วนรับคำสั่งและทำงานตามคำสั่งนั้น เช่นคลาสบัญชีธนาคารจากตัวอย่างข้างบนอาจจะมีฟังชั่นฟังก์ชันสำหรับฝากและถอนเงินจากบัญชี เป็นต้น
 
นอกจากนี้ คลาสยังสามารถมีฟังชั่นฟังก์ชันพิเศษเรียกว่า constructor ซึ่งจะถูกเรียกใช้ในเวลาที่กำลังสร้างออปเจ็คอ็อบเจกต์จากคลาสเพื่อตั้งค่าเริ่นต้นให้กับข้อมูลและคุณสมบัติของออปเจ็คนั้นอ็อบเจกต์นั้น
 
== การจำกัดการเข้าถึง ==
 
เราสามารถจำกัดความสามารถในการเห็นและใช้งานของแต่ละสมาชิกของคลาสหรือแม้แต่ตัวคลาสเองจากโลกภายนอกได้ ผลที่ได้คือข้อมูลและการทำงานส่วนตัวของคลาสจะถูกซ่อนไว้ โลกภายนอกสามารถขอให้ออปเจ็คอ็อบเจกต์ทำงานผ่านฟังชั่นฟังก์ชันสาธารณะเท่านั้นโดยที่ไม่มีความจำเป็นจะต้องรู้รายละเอียดการทำงานภายในของคลาสนั้น ซึ่งก็เข้าหลักการที่เรียกว่า [[Encapsulation]] นั่นเอง
 
สมาชิกส่วนตัว (private members) มีเพียงออปเจ็คเพียงอ็อบเจกต์ของคลาสนั้นเท่านั้นที่สามารถเห็นและใช้งานสมาชิกเหล่านี้ได้ โลกภายนอกจะไม่มีทางรู้เลยว่าคลาสมีสมาชิกเหล่านี้อยู่
 
สมาชิกสาธารณะ (public members) โลกภายนอกสามารถเรียกใช้สมาชิกเหล่านี้ได้โดยไม่มีข้อจำกัด
บรรทัด 31:
 
== ลักษณะของคลาสที่ดี ==
* ซ่อนข้อมูลและคุณสมบัติส่วนตัวของคลาสโดยตั้งค่าให้เป็น private โลกภายนอกสามารถเข้าถึงข้อมูลเหล่านี้ผ่านทางฟังชั่นฟังก์ชันพิเศษที่จะมีการตรวจสอบความถูกต้องของข้อมูล
* ตั้งค่าเริ่มต้นของข้อมูลและคุณสมบัติของคลาสเสมอ ออบเจ็คจะอยู่ในสถานะที่พร้อมถูกใช้งานทันที
* แตกคลาสที่มีภาระมาก (responsibilities) ออกเป็นส่วนย่อยๆ และแบ่งความรับผิดชอบที่เฉพาะเจาะจงให้กับคลาสเล็กๆ เหล่านั้น คลาสที่ใหญ่เกินไปและทำงานหลายอย่างจะยากต่อการบำรุงรักษาและแก้ไข