การเขียนโปรแกรมเชิงวัตถุไม่ใช่เรื่องยาก (Object Oriented Programming)

การเขียนโปรแกรมเชิงวัตถุ,การเขียน OOP,OOP Programming

ครั้ง

วันนี้ขอแนะนำการเขียนโปรแกรมเชิงวัตถุ หรือ OOP กันซักหน่อย
เพราะ ภาษาโปรแกรมชั้นนำของโลกล้วนแต่มี syntax เป็น แบบ OOP ทั้งสิ้น ไม่ว่าจะเป็น JAVA,C#,C++ หรือแม้กระทั่ง PHP ,Javascript ก็เขียนแบบ OOP ได้เช่นกัน
ในโลกของซอฟต์แวร์เราจะมองทุกอย่างให้เป็นอ๊อบเจ็กต์หรือวัตถุ (Object)
  • 1.Object ที่เป็น รูปธรรม เช่น คน,ใบรายการสินค้า
  •  
  • 2.Object ที่เป็น นามธรรม เช่น ความเป็นเจ้าของ,เที่ยวบิน เป็นต้น
แต่เดี๋ยวก่อน อย่าพึ่งไปงงกับคำว่า Object
มารู้จักคลาส(Class) ซะก่อน

Class (คลาส)

หรือพิมพ์เขียว (Blue Print)
Object เกิดขึ้นได้จาก Class คล้ายการสร้างตึกก็ต้องมีพิมพ์เขียว(Blue print) ที่เขียนขึ้นจากวิศกรเช่นกัน
ตัวอย่าง คลาสใบสั่งซื้อ (Order)  คลาสนักศึกษา (Student)
ตัวอย่าง การเขียน Class นักศึกษา (ตัวอย่างนี้เขียนด้วยภาษา C#)
รูปแบบ (format)
public class ชื่อคลาส { }

public class Student {
}

Properties (พร็อบเพอร์ตี้หรือคุณสมบัติ) and Fields (ฟิลด์)

Property เปรียบเสมือนข้อมูลที่แสดงคุณสมบัติต่าง ๆ ของ Class นั้น ๆ เช่นนักศึกษา ก็ประกอบด้วย ชื่อ นามสกุล รหัสนักศึกษา(ไม่ซ้ำกัน) วันเดือนปีเกิด เป็น ต้น
ส่วน ฟิลด์(Fields) จะคล้าย ๆ กับ ตัวแปร เพราะ สามารถใส่ค่าหรืออ่านค่าได้เลย
ซึ่งเมื่อเราศึกษาลงลึกไปเรื่อย ๆ จะเห็นความแตกต่างเองครับ
ตัวอย่าง field รหัสนักศึกษา string _studentid; Properties โดยทั่วไปจะมีสองแบบ คือ เขียน (set) และ อ่าน(get)
เขียน คือการใส่ค่าลงไป อ่านคือการดึงค่าออกมา
ซึ่งในทางการเขียนโปรแกรมเชิงวัตถุ เราจะไม่ไปแก้ไขข้อมูลตัวแปรตรง ๆ เพราะมันไม่ปลอดภัย
แต่เราจะกระทำผ่าน Properties
ตัวอย่างการเขียน Properties ที่มีทั้ง อ่านและเขียน public string StudentID {
get { return _studentid; }
set { _studentid = value; } }
สังเกตว่า ใน Properties จะมีการนำฟิลด์ _studentid มาใช้อ่านและก็เขียน
การเรียกใช้งาน Class ที่สร้างเสร็จแล้ว
การใส่ค่าลงไปใน Object ซึ่งในทางเทคนิคจะไปเรียก Properties ที่เป็นแบบ set
การอ่านค่า Properties ออกมา แสดงผล
คุณสมบัติ วันเกิดของนักศึกษา (BirthDate) กรณีศึกษา ปี ค.ศ
ตัวอย่างอายุเป็นแบบ Readonly เนื่องจากไม่จำเป็นต้องกรอกแต่คำนวณจากวันเดือน ปี เกิด
การใส่วันเดือน ปี เกิด แล้วเรียกแสดงอายุออกมา
รู้จักกับ Constructor หรือเหตุการณ์ที่เกิดขึ้นอันดับแรกเมื่อมีการสร้าง Instance
ต่อด้วย กรณีศึกษา ระบบแสดงผลคนเข้าร้านอาหารแห่งหนึ่ง ที่จะแสดงผลแบบเรียลไทม์ทุกหน้าจอที่เชื่อมอยู่
ซึ่งเราจะเริ่มสร้าง Class ชื่อว่า Restaurant ประกอบด้วยพร็อบเพอรตี้ ชื่อร้าน(RestaurantName) ประเภทร้าน(RestaurantType) ที่อยู่(Address) รายละเอียด (Detail) ดังภาพด้านล่าง
เขียน Properties ต่อให้ครอบ
ตามด้วย Method จำนวน 3 ตัว นับจำนวนคนเข้าร้าน : setCustomerCheckIn , นับคนจ่ายบิลเรียบร้อยแล้ว setCustomerCheckBill และ Method สำหรับแสดงจำนวนลูกค้าที่อยู่ในร้านล่าสุด คือ getCurrentCustomerCount ซึ่งจะเรียกใช้งาน ฟิลด์ _customercount

ช่องของเรา