Overload Method and Poly Morphism

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
The InetAddress Class.
Advertisements

C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA
Object-Oriented Programming IUP02 At Exceep camp.
05_3_Constructor.
Object-Oriented Programming
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ครั้งที่ 7 Composition.
หลักการเชิงวัตถุ อาจารย์ศิริพร ศักดิ์บุญญารัตน์
การสืบทอด (Inheritance)
LOGO Array. ประเภทของ Array - อาเรย์ 1 มิติ (One) - อาเรย์ 2 มิติ (Two) - อาเรย์ 3 มิติ (Three) 2.
 เป็นเมธอดที่มีคุณลักษณะของ Polymorphism รูปแบบหนึ่ง โดยใช้ชื่อเมธอดเดียวกัน มากกว่า 1 เมธอด เพื่อทำงานในแบบเดียวกัน  คลาสลูกสามารถเขียนทับ เมธอดของคลาสแม่ได้
คลาสและวัตถุ (4) (Class & Object)
OOP (Object-Oriented Programming)
C# Programming Exceed Camp: Day 3.
Lecture 9 Class (คลาส) To do: Hand back assignments
Inheritance การสืบทอดคลาส
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 3 มิถุนายน 2550 Method of Class มหาวิทยาลัยเนชั่น.
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 22 มิถุนายน 2550 ความผิดพลาดที่พบ บ่อย มหาวิทยาลัยเนชั่น.
JAVA PROGRAMMING PART IV.
เมธอดคือหน้าที่การงานของวัตถุให้เรียกใช้
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
ความสัมพันธ์ระหว่างคลาส (Class Relationship)
The ServerSocket Class ใช้ในการจัดทำเครื่องที่เป็นการบริการ ใช้ในการจัดทำเครื่องที่เป็นการบริการ โดยจะมี ช่วงชีวิตดังนี้ โดยจะมี ช่วงชีวิตดังนี้
Object Oriented Programming Handling Exceptions
Method of Class อ.สุพจน์ สิงหัษฐิต
Lec03 :: หลักการเชิงออปเจ็ค (Object Oriented Concept)
Lec05 :: การสืบทอด (inheritance)
Nattapong Songneam BankAccount – Example Nattapong Songneam
Object-Oriented Programming
Advanced Class Design in Java Java Packages Week #6 Jarungjit Parnjai
Java collection framework
Midterm outline Object-oriented programming Wattanapong suttapak, Software Engineering, school of Information communication Technology, university of phayao.
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
Inheritance และ Encapsulation.  การสร้างหรือพัฒนาคลาสใหม่จากคลาสเดิมที่ มีอยู่แล้ว  คลาสใหม่จะนำแอตทริบิวต์และเมธอดของ คลาสเดิมมาใช้  เป็นการถ่ายทอดคุณสมบัติจากคลาสหนึ่งสู่อีก.
Object-Oriented Programming
เครื่องมือที่ใช้ JUnit4.8.1 on Eclipse SDK3.5.2 ขึ้นไป
เมธอดคือหน้าที่การงานของวัตถุให้เรียกใช้
chapter 2 - Construction and destruction - Overloading method
Chapter 6 Abstract Class and Interface
Linked List ( ต่อ ) Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.
การเขียนโปรแกรมบนมาตรฐานเปิด โครงสร้างโปรแกรม public class HelloWorld { public static void main(String[] args) { System.out.println(“Hello World”);
Object and classes.
การประมวลผลแบบวน ( LOOP )
Package การสร้าง Package การใช้งาน Package อ.ธวัฒน์ชัย.
การเขียนภาษาจาวา ตอนที่ 2
Basic Java Programming
Inheritance and Method Overriding
พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language)
Object-Oriented Programming Paradigm
เครื่องมือที่ใช้ JUnit4.8.1 on Eclipse SDK3.5.2 ขึ้นไป
ตัวแปรและการคำนวณ Variables and Calculation
Class Diagram.
Object Roles and the Importance of Polymorphism
UML (Unified Modeling Language)
หลักการเชิงวัตถุ (Object Oriented Concept)
introduction to Computer Programming
Object-Oriented Programming Paradigm
Abstract Class and Interface
Starting JAVA : JAVA PROGRAMMING (การ โปรแกรมภาษาจาวา) มัลลิกา เกลี้ยงเคล้า | SC1419.
Method and Encapsulation
Linked List (ต่อ) Lecturer : Kritawan Siriboon, Room no. 913
Chapter 7 ฟังก์ชัน Function.
Inheritance and Encapsulation
Inheritance Chapter 07.
Class Inheritance and Interfaces.
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
Class Diagram.
การประชุมคณะทำงานการจัดการพลังงาน อาคาร บก. ทท
ใบสำเนางานนำเสนอ:

Overload Method and Poly Morphism chapter06

Method Overloading method overloading means using the same name with different parameters.

Three types of method overloading

The following code won’t compile

Constructor overloading

JVM compiles overloaded methods

Widening

Autoboxing Unboxing

การเข้าถึงสมาชิก (member access modifiers) publicหมายถึงสมาชิกนั้นสามารถเข้าถึงได้จากคำสั่งที่ภายในทุกแห่งในคลาสนั้นหรือจากเมธอดนอกคลาสนั้น private หมายถึงสมาชิกนั้นสามารถเข้าถึงได้จากสมาชิกที่อยู่เฉพาะในคลาสนั้น protected เป็นการเข้าถึงสมาชิกที่มีการสืบทอดคุณสมบัติซึ่งจะกล่าวในบทหลัง ถ้าไม่มีการระบุการเข้าถึง จาวาจะกำหนดเป็น public โดยปริยายแล้ว การระบุการเข้าถึงต้องอยู่หน้าชนิดของข้อมูล

ตัวอย่าง

การใช้ private และ public

ex

output

การส่งผ่านออบเจ็กต์ให้เมธอด (pass object to method)

การผ่านพารามิเตอร์ให้เมธอด

การ return ออบเจ็กต์

Method Overloading เป็นความสามารถของจาวาที่สนับสนุนแนวคิด polymorphism โดยอนุญาตให้เมธอดในคลาสใดๆสามารถมีชื่อเหมือนกันทำงานต่างกัน และต่างกันที่การประกาศจำนวนพารามิเตอร์ไม่เท่ากันหรือถ้าจำนวนพารามิเตอร์เท่ากันต้องประกาศชนิดข้อมูลของพารามิเตอร์ไม่เหมือนกัน (ชื่อเมธอดเหมือนกันรายการพารามิเตอร์เหมือนกันต่างกันเพียง ชนิดค่าส่งกลับ (return types) ไม่ถือว่าเป็นการโอเวอร์โหลดเมธอด)

output

Static Blocks ในบางครั้งคลาสต้องการการกำหนดค่าเริ่มต้น (initialization) บางสิ่งก่อนที่จะมีการสร้างออบเจ็กต์ เช่น การขอติดต่อไปยัง server หรือการกำหนดค่าเริ่มต้นให้กับ static variable ก่อนที่ static method จะเรียกใช้ static variable เหล่านั้น จาวาได้เตรียมการ static block เพื่อสิ่งเหล่านั้น static block จะถูกเรียกทำงานเป็นอันดับเมื่อคลาสถูกโหลดก่อนที่คลาสนั้นจะถูกเรียกให้ทำงานอย่างอื่น

Nested และInner Classes nested class หมายถึงคลาสที่ประกาศอยู่ภายในของคลาสอื่น สามารถสร้างได้ 2 วิธีคือ แบบที่ต้องใช้ static นำหน้า และแบบที่ไม่ต้องใช้ static นำหน้า เบื้องต้นเราจะพิจารณาการใช้งานในแบบที่ไม่ต้องใช้ static นำหน้า ซึ่งเราจะเรียกว่า inner class inner class จะสามารถเข้าถึงสมาชิกใดๆ ของคลาสที่ห่อหุ้ม (ชั้นนอก – outer class)ได้โดยตรง เหมือนกับสมาชิกที่ไม่ได้เป็น static คลาสที่ห่อหุ้มทำได้ บางครั้ง inner class ถูกใช้ในการสร้างบริการ (service) บางอย่างที่คลาสห่อหุ้มต้องการ

ใน ต.ย นี้ Showbits class จะไม่รู้จักถ้าอยู่ภายนอก main() ถ้ามีการถูกเรียกจากเมธอดอื่นภายนอก main() จะเกิดข้อผิดพลาด

Varargs: Variable-Length Arguments เพื่อช่วยแก้ปัญหากรณีที่จำนวนค่าของพารามิเตอร์ไม่แน่นอน

Overloading Varargs Methods

กรณีกำกวมของ Varargs