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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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


Ads by Google