 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา JAVA
Advertisements

The InetAddress Class.
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
Component องค์ประกอบของ GUI.
Lecture 5: ทางเลือกแบบหลายทาง
ครั้งที่ 8 Function.
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
05_3_Constructor.
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
คำสั่งควบคุมการทำงาน
ครั้งที่ 7 Composition.
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
การสืบทอด (Inheritance)
Relational Operators by Accords (IT SMART CLUB 2006) by Accords 1.
WEEK#16: Method เมธอดคือกลุ่มคําสั่งที่ถูกกําหนดขึ้นเพื่อทำงาน อย่างใดอย่างหนึ่งเพื่อให้ได้ผลลัพธ์ตาม ต้องการ การประกาศเมธอด มีรูปแบบดังนี้ [modifier]
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object)
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
คลาสและวัตถุ (2) (Class & Object)
คลาสและวัตถุ (4) (Class & Object)
บทที่ 4 Method (2).
คลาสและวัตถุ (3) (Class & Object). w5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 24, 25 as5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 23 2.
คลาสและวัตถุ (4) (Class & Object)
บทที่ 4 Method (1).
การสืบทอดคุณสมบัติ (Inheritance)
Flowchart รูปแบบ If ซ้อน If ก็คือ การเอา If ไปไว้ใน If ทางฝั่ง True  โดยโครงสร้าง If ซ้อน If นั้นเอาไว้ใช้กับ กรณีตรวจสอบเงื่อนไขที่มากกว่า 2 กรณี เพราะเนื่องจาก.
รูปแบบ if-else if if (เงื่อนไข1) {
Inheritance การสืบทอดคลาส
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
บทที่ 8 อาร์เรย์.
บทที่ 6 เมธอด.
Chapter 4 คำสั่งควบคุมทิศทาง
JAVA PROGRAMMING PART IV.
โครงสร้างควบคุมการทำงาน
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่งควบคุมการ ทำงาน การเขียนโปรแกรมโดยปกติ มีทั้งให้ทำงาน เป็นลำดับ ที่ละคำสั่ง บางครั้งมีการให้เปลี่ยน ลำดับในการทำคำสั่ง เพื่อให้การเขียน โปรแกรมมีประสิทธิภาพสูงสุด.
เมธอดคือหน้าที่การงานของวัตถุให้เรียกใช้
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
Method of Class อ.สุพจน์ สิงหัษฐิต
Lec05 :: การสืบทอด (inheritance)
Week 7 การเขียนโปรแกรมเบื้องต้น
Object-Oriented Programming
บทที่ 3 Class and Object (2).
บทที่ 3 ชนิดข้อมูล ตัวแปร นิพจน์และตัวดำเนินการ
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
Java collection framework
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
การแสดงผลและการรับข้อมูล (Data Output and Input)
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
Object-Oriented Programming
เครื่องมือที่ใช้ JUnit4.8.1 on Eclipse SDK3.5.2 ขึ้นไป
คอนสตรัคเตอร์ (Constructor)
การเขียนโปรแกรม (ภาษาซี)
การจัดการกับความผิดปกติ
Variable, Data type, Expression, Operators Data input, Data output
chapter 2 - Construction and destruction - Overloading method
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
เริ่มต้นเขียนโปรแกรมภาษาจา วา (Introduction to JAVA Programming)
Chapter 6 Abstract Class and Interface
บทที่ 3 การสืบทอด (Inheritance)
WEEK5-2: 14 SEP 2017 Input / Output Selection Statement
ใบสำเนางานนำเสนอ:

 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้ โดยที่จำนวนอาร์กิวเมนต์, ชนิดข้อมูลของอาร์กิวเมนต์ และชนิดของข้อมูลที่คืนค่า จะต้องเหมือนในคลาสแม่ 1

 เป็นเมธอดที่มีคุณลักษณะที่มีได้หลายรูปแบบ (Polymorphism) โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  สิ่งที่ต่างกันคือชนิดข้อมูลของผลลัพธ์ หรือมีจำนวน และชนิดข้อมูลของอาร์กิวเมนต์ที่ใช้ในการรับข้อมูล แตกต่างกัน  โปรแกรมตรวจสอบเงินเดือน โดยการทำ overload เมธอด setsalary() 2 กรณีเลือกประเภทพนักงานเป็น 1 และระดับพนักงานเป็น 9 กรณีเลือกประเภทพนักงานเป็น 2 และ เกรดพนักงานเป็น A

class employee { float setsalary(int t) { float salary=0; switch (t) { case 1: salary = 10000; break; case 2: salary = 20000; break; } return salary; } String setsalary(String t) { String salary=""; if (t.equals( "A")) salary = "$750"; if (t.equals( "B")) salary = "$500"; return salary; } 3 Overloading Method (2)

Overloading Method (3) public class EMPLOYEES { public static void main(String[] args) { String data =JOptionPane.showInputDialog("Enter Employee Type (1 or 2) "); int n =new Integer(data); employee x = new employee(); float s1 = x.setsalary(n); JOptionPane.showMessageDialog(null,"Salary = "+ s1 + " TH Baht"); data =JOptionPane.showInputDialog("Enter Employee Level (A or B) "); String s2 = x.setsalary(data); JOptionPane.showMessageDialog(null,"Salary = "+s2 + " US Dollar"); } 4

String calGrade(float t1, float t2, float t3) { grade = "F"; float t = t1+t2+t3; totalscore = t; if (t >= 80) grade = "A"; else if(t >= 70) grade = "B"; else if(t >= 60) grade = "C"; else if(t >= 50) grade = "D"; return grade; }} class grade { float totalscore; String grade; String calGrade(int t) { grade = "U"; totalscore = t; if (t >= 60) grade = "S"; return grade; } 5 Overloading Method (4)

public class GRADES { public static void main(String[] args) { String s="", data1, data2, data3, title=""; grade x = new grade(); data1 = (JOptionPane.showInputDialog(null,"1. วิชาโครงงาน / ฝึกงาน \n2. วิชาเรียนทั่วไป \nSelect 1 or 2","Score Input", JOptionPane.QUESTION_MESSAGE)); int n = new Integer(data1); 6 Overloading Method (5)

switch (n) { case 1 : title = "วิชาโครงงาน/ฝึกงาน"; data1 = JOptionPane.showInputDialog(null,"Enter Score : ",title, JOptionPane.QUESTION_MESSAGE); s = x.calGrade(new Integer(data1)); break; case 2 : title = "วิชาเรียนทั่วไป"; data1 =JOptionPane.showInputDialog(null,"Enter Midterm Score : ",title, JOptionPane.QUESTION_MESSAGE); data2 =JOptionPane.showInputDialog(null,"Enter Final Score : ",title, JOptionPane.QUESTION_MESSAGE); data3 =JOptionPane.showInputDialog(null,"Enter Quiz Scores : ",title, JOptionPane.QUESTION_MESSAGE); s = x.calGrade(new Float(data1),new Float(data2),new Float(data3)); break; default : System.out.println("Select Type 1 or 2 Only"); } JOptionPane.showMessageDialog(null,"คะแนนรวม = " + x.totalscore + " ได้เกรด " + s,title, JOptionPane.INFORMATION_MESSAGE); } 7 Overloading Method (6)

Overloading Method (7) switch (n) { case 1 : title = "วิชาโครงงาน/ฝึกงาน"; data1 = JOptionPane.showInputDialog(null,"Enter Score : ",title, JOptionPane.QUESTION_MESSAGE); s = x.calGrade(new Integer(data1)); break; case 2 : title = "วิชาเรียนทั่วไป"; data1 =JOptionPane.showInputDialog(null,"Enter Midterm Score : ",title, JOptionPane.QUESTION_MESSAGE); data2 =JOptionPane.showInputDialog(null,"Enter Final Score : ",title, JOptionPane.QUESTION_MESSAGE); data3 =JOptionPane.showInputDialog(null,"Enter Quiz Scores : ",title, JOptionPane.QUESTION_MESSAGE); s = x.calGrade(new Float(data1),new Float(data2),new Float(data3)); break; default : System.out.println("Select Type 1 or 2 Only"); } JOptionPane.showMessageDialog(null,"คะแนนรวม = " + x.totalscore + " ได้เกรด " + s,title, JOptionPane.INFORMATION_MESSAGE); } 8

 เป็นกลไกที่ช่วยซ่อนสิ่งที่ต้องการไม่ให้เข้าถึงได้ จากภายนอกของคลาส  เป็นการกำหนดแอตทริบิวต์หรือเมธอดที่ต้องการ ให้สามารถเรียกใช้ได้จากคลาสเดียวกันเท่านั้น ไม่อนุญาตให้คลาสอื่นเรียกใช้งาน  เพื่อป้องกันการดัดแปลงแก้ไขแอตทริบิวต์ ( รายละเอียดภายในคลาส )  กระบวนการซ่อนข้อมูลหรือที่เรียกว่า Information hiding  กำหนดระดับการเข้าใช้งานเป็นแบบ private 9

10 public class encapS { private float salary = 15000; private float setS(float s) { salary = s; return s; } public float setnewS(String newS) { float s=salary; if (!newS.isEmpty()) { s = setS(Float.parseFloat(newS)); } return s; } Encapsulation

11 import javax.swing.*; public class ex17 { public static void main(String[] args) { encapS changeS = new encapS(); float currentS = changeS.setnewS(""); JOptionPane.showMessageDialog(nu ll, currentS); Float newS = changeS.setnewS("20000"); JOptionPane.showMessageDialog(nu ll, newS); }