Overloading

7
Overloading อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี ([email protected])

Transcript of Overloading

Page 1: Overloading

Overloading

อาจารย์สมเกียรติ ช่อเหมือน สาขาวิชาวิศวกรรมซอฟต์แวร์ คณะวิทยาศาสตร์และเทคโนโลยี

([email protected])

Page 2: Overloading

Overload Methods

• Overload Methods (หรือหลาย ๆ คนอาจจะใช้ค าว่า Overloading, Overloader) คือการเขียน หรือสร้าง Method ชื่อเดิมที่มีอยู่แล้วใหม่ เพื่อจุดประสงค์การท างานที่หลากหลาย โดยใช้ชื่อ Method เดิมแต่มีข้อแม้ว่าจะต้องส่ง Argument หรือ Parameter เข้าไปใน Overload Method แต่ละตัวไม่เหมือนกัน

Page 3: Overloading

Overloading

• Overloading

• Overloading To Aid Flexibility

Page 4: Overloading

Overloading

• ในอดีตการเขียนโปรแกรมคอมพวิเตอร์ใช้ชื่อฟังก์ชัน เพื่อระบุการท างานจึงไม่มีชื่อที่ซ ากัน ท าให้คอมไพเลอร์เรยีกได้ถูกต้อง

• แต่บางฟังก์ชันมีการเรียกใช้งานทีค่ล้ายกันมาก จึงจ าเป็นต้องก าหนดรายละเอียดเพิ่มเติม เช่น ข้อมูล หรือ จ านวนตัวแปร ที่แตกต่างกัน

• addInt() กับ addFloat()• Java ใช้การพิจารณาจากรายการพารามิเตอร์

• ชื่อซ ากัน

add(int number1, int number2)add(float number1, float number2)

Page 5: Overloading

Overloading To Aid Flexibility

• ความยืดหยุ่นของการท า Overloading

• มีหลายวิธีทีเ่ป็นการใช้ตัวด าเนินการเดียวกัน แต่การใช้รายการ พารามิเตอรท์ี่แตกต่างกัน ท าให้เกิดความยืดหยุ่นเพิ่มขึ น

enrollStudent(String pName, String pAddress, String pCoursecode)enrollStudent(String pName, String pCoursecode)

enrollStudent(“Fred”, “123 Abbey Gardens”, “G700”)

Page 6: Overloading

ตัวอย่างโปรแกรม Java

public class Overload {

public static void sayHello() {

System.out.println("Hello, JAVA");

}

public static void sayHello( String name ) {

System.out.println("Hello, " + name.toString());

}

public static void main(String args[]){

sayHello(); sayHello( "amplysoft" );

}

}

Page 7: Overloading

สรุป Overload Method

• Overload Method คือการท าซ า Method ที่มีอยู่แล้ว แต่ต้องส่งค่า Argument หรือ Parameter ให้ไม่เหมือนเดิม

• วัตถุประสงคเ์พื่อการสร้าง Method เดิมแต่มีคุณสมบัติ และลักษณะการท างานที่แตกต่างกัน

• สร้างความยืดหยุ่นในการสร้าง Method