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

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
Advertisements

ความรู้เบื้องต้นเกี่ยวกับระบบฐาจข้อมูล
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
ระบบสื่อการสอนอิเล็กทรอนิกส์ E-learning วิชาภาษาอังกฤษ 1
ADDIE model หลักการออกแบบของ
หลักการออกแบบของ ADDIE model ADDIE model
การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
บทที่ 3 พื้นฐานการเขียนโปรแกรม Visual Basic
องค์ประกอบพื้นฐาน ของโปรแกรม Visual Basic
Properties ของคอนโทรล ที่ควรรู้จักในเบื้องต้น
จดหมายเหตุมหาวิทยาลัยอิเล็กทรอนิกส์ กับระบบห้องสมุดอัตโนมัติ
Object-Oriented Programming
ระบบสารสนเทศ เพื่อการจัดการ และกรณีศึกษา
ครั้งที่ 7 Composition.
การควบคุมทิศทางการทำงานของโปรแกรม
การสืบทอด (Inheritance)
Looping การวนรอบ บทที่ 4.
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
คลาสและวัตถุ (4) (Class & Object)
การสืบทอดคุณสมบัติ (Inheritance)
C# Programming Exceed Camp: Day 3.
Generalization & Specialization
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
บทที่ 11 การเขียนโปรแกรมแบบ Structured Programming และการจัดการตรวจสอบข้อผิดพลาด.
LOGO SCCS031 Principle of Computer Programming Thinaphan Nithiyuwith Program of Computer Science & Information Technology suchada/
บทที่ 3 ชนิดของข้อมูลและตัวดำเนินการ
Chapter 7 Iteration Statement
โปรแกรมภาษาจาวาเบื้องต้น Basic Java Programming 3(2-2-5)
วิธีการใช้แบบประเมินผลสมรรถนะแบบ Hybrid Scale
โดย อ. นัฐพงศ์ ส่งเนียม การเขียนโปรแกรมคอมพิวเตอร์ และอัลกอรทึ่ม ( ) Lec04 : [ การแปลงจาก FlowChart.
บทที่ 4 Aggregation Abstraction
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
การวิเคราะห์และออกแบบระบบเชิงวัตถุ (OOAD)
การเขียนโปรแกรมคอมพิวเตอร์ และอัลกอริทึ่ม Lec03 : 25/03/2551 การทำงานกับ Event ต่าง ๆ โดย อ. นัฐพงศ์ ส่งเนียม
วิชา :: การเขียนโปรแกรมภาษาคอมพิวเตอร์ขั้นสูง
Selection Nattapong Songneam.
หลักการทำ Animation แบบง่ายๆ
การวาดวงกลม Arc วงรี pie และ โปรแกรมเกมส์ Pacman
เขียนโปรแกรมเพื่อแสดงข้อมูลพนักงาน ด้วย ADO.NET vs. DataReader
Control Statements.
ฟอร์ม โมดูล และ MDI.
บทที่ 3 การทำงานกับฟอร์ม (Form)
Object-Oriented Programming
Lecture 2 แก้ไขปัญหาด้วย OOP (Solving problems using OOP in Java)
บทที่ 3 การสร้าง Appication แบบ Windows Form
การเขียนโปรแกรมสั่งงานตัวควบคุม (Control)
WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 4 analysis of algorithm efficiency.
ADO.NET (การบริหารและจัดการข้อมูล)
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
Computer Application in Public Health กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
Object Oriented Programming : OOP
Variables and Data Types กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
การฝึกงาน รายวิชาในกลุ่มวิชาเอกบังคับของหลักสูตรระดับปริญญาตรี คณะเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยพะเยา การฝึกปฏิบัติงานจริง จะทำให้นิสิตได้มีโอกาสเรียนรู้ประสบการณ์
Object-Oriented Programming
สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา
Debugging กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
การออกแบบสื่อเพื่อการศึกษา ADDIE Model
ระบบคอมพิวเตอร์ และ การสื่อสาร กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
การเขียนรายงานการวิจัย (Research Paper)
Problem Analysis and Algorithm (การวิเคราะห์ปัญหา และการจำลองความคิด)
1 Inheritance อุทัย เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
1 Introduction to SQL กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
บทที่ 3 การสืบทอด (Inheritance)
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา คลาส 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 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

คลาส 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 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

คลาส 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 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

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

สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา ตัวอย่างโปรแกรม 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 สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา

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