BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming) ภาควิชาคอมพิวเตอร์ธุรกิจ
วัตถุประสงค์ เพื่ออธิบายถึงแนวคิดการโปรแกรมเชิงวัตถุ เพื่อให้ทราบถึงความแตกต่างระหว่างการโปรแกรมเชิงวัตถุกับการโปรแกรมเชิงกระบวนการ เพื่อยกตัวอย่างการเขียนโปรแกรมเชิงวัตถุ
การโปรแกรมเชิงวัตถุ แนวคิดที่สำคัญของการเขียนโปรแกรมเชิงวัตถุ - คลาส (Class) ต้นแบบของออบเจกต์ ที่มีการกำหนดว่า ออบเจกต์ ที่เกิดขึ้นภายใต้คลาสจะประกอบไปด้วย - คุณสมบัติ (Property) - พฤติกรรมหรือการกระทำ (Method) ซึ่งคลาสเป็นโครงสร้างพื้นฐานของการเขียนโปรแกรมเชิงวัตถุ
การโปรแกรมเชิงวัตถุ (ต่อ) การสร้างคลาสมีรูปแบบ คือ Class ชื่อคลาส รายละเอียดภายในคลาส End Class
การโปรแกรมเชิงวัตถุ (ต่อ) - วัตถุ (Object) โดยมากจะเรียกว่า อ็อบเจกต์ คือ ตัวตน (instance) ของคลาส (เช่น นายทักษิณ, นายสนธิ) ซึ่งจะเกิดขึ้นระหว่างการนำเอาคลาสนั้นมาใช้งานโดยแต่ละออบเจกต์ จะมีพฤติกรรมที่เกิดขึ้นแตกต่างกันฉพาะของตัวเอง ทำให้ ออบเจกต์ แต่ละ ออบเจกต์ ของ คลาสเดียวกันมีคุณลักษณะและคุณสมบัติที่แตกต่างกัน การสร้างออบเจกต์จะทำภายใต้คลาส โดยมีรูปแบบคล้ายการประกาศตัวแปร เช่น Dim Car As New Vehicle รูปแบบ Dim ชื่อ object As New ชื่อ class
การโปรแกรมเชิงวัตถุ (ต่อ) - คุณสมบัติ (Property) จริงๆแล้วก็คือตัวแปรที่สร้างไว้ใน class หรือเรียกว่า data member ของ class การใช้งาน รูปแบบ ชื่อ object.ชื่อคุณสมบัติ
การโปรแกรมเชิงวัตถุ (ต่อ) การสร้างคุณสมบัติ (Property) สามารถทำได้ 2 วิธีคือ 1. การใช้ตัวแปรแบบ Public 2. การใช้ Property Method
การโปรแกรมเชิงวัตถุ (ต่อ) การสร้างคุณสมบัติโดยใช้ตัวแปรแบบ Public การใช้งาน 1. การอ่านค่าจากคุณสมบัติไปเก็บไว้ที่ตัวแปร 2. การกำหนดค่าให้กับคุณสมบัติ รูปแบบ Public ชื่อคุณสมบัติ As ชนิดข้อมูล [= ค่าเริ่มต้น] รูปแบบ ตัวแปร = ชื่อ object.ชื่อคุณสมบัติ รูปแบบ ชื่อ object.ชื่อคุณสมบัติ = ค่าที่จะกำหนด
การโปรแกรมเชิงวัตถุ (ต่อ) ตัวอย่าง Class Vehicle Public Num As Integer = 5 End Class Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim A As New Vehicle Dim B As Integer = A.Num A.Num = 10 Response.Write(A.Num & "<br>") Response.Write(B) End Sub
การโปรแกรมเชิงวัตถุ (ต่อ) การสร้างคุณสมบัติโดยใช้ Property Method มี 3 รูปแบบ 1. การสร้างคุณสมบัติให้สามารถอ่านค่าได้เพียงอย่างเดียว รูปแบบ Public ReadOnly Property ชื่อคุณสมบัติ As ชนิดข้อมูล Get ‘คำสั่งที่จะทำถ้ามีการอ่านค่าคุณสมบัติ End Get End Property
การโปรแกรมเชิงวัตถุ (ต่อ) ตัวอย่าง Class Vehicle Public Num As Integer = 5 Public ReadOnly Property Num1() As Integer Get Return Num End Get End Property End Class Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim A As New Vehicle Dim B As Integer = A.Num1 A.Num1 = 10 End Sub คำสั่งนี้ใช้ไม่ได้
การโปรแกรมเชิงวัตถุ (ต่อ) 2. การสร้างคุณสมบัติให้สามารถกำหนดค่าได้เพียงอย่างเดียว รูปแบบ Public WriteOnly Property ชื่อคุณสมบัติ As ชนิดข้อมูล Set ‘คำสั่งที่จะทำถ้ามีการกำหนดค่าให้กับคุณสมบัติ End Set End Property
การโปรแกรมเชิงวัตถุ (ต่อ) ตัวอย่าง Class Vehicle Public Num As Integer = 5 Public WriteOnly Property Num1() As Integer Set(ByVal value As Integer) Num = value End Set End Property End Class Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim A As New Vehicle Dim B As Integer = A.Num1 A.Num1 = 10 End Sub คำสั่งนี้ใช้ไม่ได้
การโปรแกรมเชิงวัตถุ (ต่อ) 3. การสร้างคุณสมบัติให้สามารถอ่านค่าและกำหนดค่าได้ Public Property ชื่อคุณสมบัติ As ชนิดข้อมูล Get ‘คำสั่งที่จะทำถ้ามีการอ่านค่าคุณสมบัติ End Get Set ‘คำสั่งที่จะทำถ้ามีการกำหนดค่าให้กับคุณสมบัติ End Set End Property รูปแบบ
การโปรแกรมเชิงวัตถุ (ต่อ) Class Vehicle Public Num As Integer = 5 Public Property Num1() As Integer Get Return Num End Get Set(ByVal value As Integer) Num = value End Set End Property End Class Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim A As New Vehicle Dim B As Integer = A.Num1 A.Num1 = 10 Response.Write(B & "<br>") Response.Write(A.Num) End Sub ตัวอย่าง
การโปรแกรมเชิงวัตถุ (ต่อ) - พฤติกรรมหรือการกระทำ (Method) จริงๆแล้วก็คือโพรซีเยอร์หรือฟังก์ชันที่สร้างไว้ใน class หรือเรียกว่า function member ของ class การใช้งานมี 2 รูปแบบ 1. แบบไม่มีพารามิเตอร์ 2. แบบมีพารามิเตอร์ รูปแบบ ชื่อ object.ชื่อ method รูปแบบ ชื่อ object.ชื่อ method(พารามิเตอร์ 1,พารามิเตอร์ 2,...)
การโปรแกรมเชิงวัตถุ (ต่อ) การสร้างพฤติกรรมหรือการกระทำ (Method) มี 2 แบบ 1. Method ที่เป็นโพรซีเยอร์ 2. Method ที่เป็นฟังก์ชัน Public Sub ชื่อ Method(พารามิเตอร์ 1,พารามิเตอร์ 2,...) ‘การทำงาน End Sub รูปแบบ Public Function ชื่อ Method(พารามิเตอร์ 1,พารามิเตอร์ 2,...) As ชนิดข้อมูลที่ต้องการส่งกลับ ‘การทำงาน End Sub รูปแบบ
การโปรแกรมเชิงวัตถุ (ต่อ) Class Vehicle Public Function Add(ByVal A As Integer, ByVal B As Integer) As Integer Return (A + B) End Function End Class Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim A As New Vehicle Response.Write(A.Add(5, 10)) End Sub ตัวอย่าง