งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Polymorphism กนกวรรธน์ เซี่ยงเจ็น

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Polymorphism กนกวรรธน์ เซี่ยงเจ็น"— ใบสำเนางานนำเสนอ:

1 Polymorphism กนกวรรธน์ เซี่ยงเจ็น
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขตสารสนเทศพะเยา

2 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
เนื้อหา บทนำ ตัวอย่าง สร้างฟอร์มเพื่อทำการทดสอบ สรุป สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

3 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
บทนำ การทำ Polymorphism เป็นวิธีการที่นำแนวคิดของ OOP มาใช้ โดยมีการออกแบบ Code ให้สามารถจัดการกับวัตถุได้ง่าย โดยที่วัตถุนั้นจะต้องมีแหล่งกำเนิดจากคลาสเดียวกัน แต่มีรายละเอียดบางประการที่อาจแตกต่างกัน หากเรานำเอา Polymorphism มาใช้ก็จะสามารถจัดการวัตถุได้ง่าย โดยไม่ต้องสร้างพฤติกรรม ให้กับวัตถุเป็นจำนวนมาก สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

4 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
บทนำ วัตถุ แสดงคลาสไดอะแกรม ของ Shape ที่ประกอบด้วย Box Bubble Shape Box Bubble สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

5 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
ตัวอย่าง กรณีที่เรามี 2 คลาส ชื่อ กล่อง (Box) กับวงกลม (Bubble) เราสามารถสร้าง Instance ของ 2 วัตถุนี้โดย Dim box1 As Box = New Box() Dim bubble1 As Bubble = New Bubble() และวัตถุมี พฤติกรรม (Method) คือ box1.Display(paper) bubble1.Display(paper) สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

6 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
ตัวอย่าง จากตัวอย่างข้างต้น นิสิตอาจเห็นว่าพฤติกรรมของวัตถุ คือ Display() มีการใช้งานที่เหมือน ทั้งที่ในความเป็นจริงแล้ว ภายในพฤติกรรมข้างต้นมีความแตกต่างกัน เนื่องจากว่า อยู่ภายใต้วัตถุ ตัวเดียวกัน สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

7 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
คลาส Shape Public MustInherit Class Shape Protected x As Integer, y As Integer Protected size As Integer = 20 Protected myPen As Pen = New Pen(Color.Black) Public MustOverride Sub Display(ByVal drawArea As Graphics, ByVal x As Integer, ByVal y As Integer) End Class สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

8 คลาส Box ที่ถ่ายทอดคุณสมบัติจาก Shape
Public Class Box Inherits Shape Sub New(ByVal initX As Integer, ByVal initY As Integer) x = initX y = initY End Sub Public Overrides Sub Display(ByVal drawArea As Graphics) drawArea.DrawRectangle(myPen, x, y, size, size) End Class สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

9 คลาส Bubble ที่ถ่ายทอดคุณสมบัติจาก Shape
Public Class Bubble Inherits Shape Sub New(ByVal initX As Integer, ByVal initY As Integer) x = initX y = initY End Sub Public Overrides Sub Display(ByVal drawArea As Graphics) drawArea.DrawEllipse(myPen, x, y, size, size) End Class สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

10 สร้างฟอร์มเพื่อทำการทดสอบ
สร้างฟอร์ม โดยการวาง Picture box ไว้บนฟอร์ม เขียนโปรแกรมดังตัวอย่างหน้าถัดไป สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

11 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
ตัวอย่างโปรแกรม Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click Dim paper As Graphics = PictureBox1.CreateGraphics() Dim x As Integer = 0 Dim y As Integer = 0 Dim bubble1 As Bubble = New Bubble(20, 20) Dim box1 As Box = New Box(80, 80) Dim group(2) As Shape group(0) = bubble1 group(1) = box1 Dim index As Integer For index = 0 To 1 Dim shape1 As Shape shape1 = group(index) shape1.Display(paper) Next End Sub สามารถประกาศอาร์เรย์ เป็น คลาส Shape ได้ เนื่องจาก bubble1 กับ box1 เป็น Derived Class มาจากคลาส Shape Shape1 สามารถเรียกใช้งาน Display ของ bubble1 กับ box1 ได้ เนื่องจาก bubble1 กับ box1 เป็น Derived Class มาจากคลาส Shape สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

12 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
สรุป หลักสำคัญของ Polymorphism คือ วัตถุที่สร้างขึ้นจะไม่สามารถเปลี่ยนเป็นวัตถุของคลาสอื่นได้ คุณสมบัติ (Property) และ พฤติกรรม (Method) ของวัตถุที่สร้างขึ้นก็ยังคงมีความสัมพันธ์กับคลาสที่เป็นตัวสร้างขึ้น (Base Class) Polymorphism สนับสนุนการทำ Information Hiding และ Reusability โดยสามารถแบ่งส่วน Code ไปใช้กับงานอื่นๆ ได้ สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา


ดาวน์โหลด ppt Polymorphism กนกวรรธน์ เซี่ยงเจ็น

งานนำเสนอที่คล้ายกัน


Ads by Google