Submit Search
Upload
5.Methods cs
•
1 like
•
1,617 views
UsableLabs
Follow
สื่อการเรียนการสอน เรื่อง โปรแกรมเชิงวัตถุ โดยคุณ Kan http://learners.in.th/file/zniperlll
Read less
Read more
Education
Report
Share
Report
Share
1 of 29
Download now
Download to read offline
Recommended
แบบฝึกหัด
แบบฝึกหัด
Dar-Daa Leamkaew
What is Tuple in python? | Python Tuple Tutorial | Edureka
What is Tuple in python? | Python Tuple Tutorial | Edureka
Edureka!
แผนการเรียนรู้เกษตร7
แผนการเรียนรู้เกษตร7
juckit009
ไฟฟ้าสถิต [Compatibility mode]
ไฟฟ้าสถิต [Compatibility mode]
อัศวิน กลับมา
08 ปฏิกิริยาเคมี 6-1
08 ปฏิกิริยาเคมี 6-1
Varin D' Reno
การเคลื่อนย้ายผู้ป่วย
การเคลื่อนย้ายผู้ป่วย
Sumon Kananit
การทำปฏิบัติการนอกสถานที่ (Out room lab diagnosis)
การทำปฏิบัติการนอกสถานที่ (Out room lab diagnosis)
Mahidol University, Thailand
การพยาบาลผู้ป่วยก่อนและหลังการตรวจเพื่อการวินิจฉัยโรค
การพยาบาลผู้ป่วยก่อนและหลังการตรวจเพื่อการวินิจฉัยโรค
CC Nakhon Pathom Rajabhat University
Recommended
แบบฝึกหัด
แบบฝึกหัด
Dar-Daa Leamkaew
What is Tuple in python? | Python Tuple Tutorial | Edureka
What is Tuple in python? | Python Tuple Tutorial | Edureka
Edureka!
แผนการเรียนรู้เกษตร7
แผนการเรียนรู้เกษตร7
juckit009
ไฟฟ้าสถิต [Compatibility mode]
ไฟฟ้าสถิต [Compatibility mode]
อัศวิน กลับมา
08 ปฏิกิริยาเคมี 6-1
08 ปฏิกิริยาเคมี 6-1
Varin D' Reno
การเคลื่อนย้ายผู้ป่วย
การเคลื่อนย้ายผู้ป่วย
Sumon Kananit
การทำปฏิบัติการนอกสถานที่ (Out room lab diagnosis)
การทำปฏิบัติการนอกสถานที่ (Out room lab diagnosis)
Mahidol University, Thailand
การพยาบาลผู้ป่วยก่อนและหลังการตรวจเพื่อการวินิจฉัยโรค
การพยาบาลผู้ป่วยก่อนและหลังการตรวจเพื่อการวินิจฉัยโรค
CC Nakhon Pathom Rajabhat University
เนื้อหาบท3
เนื้อหาบท3
Gawewat Dechaapinun
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
IMC Institute
ตัวอย่างการเขียนผังงาน
ตัวอย่างการเขียนผังงาน
sarida ruangthai
ห.ร.ม และ ค.ร.น.
ห.ร.ม และ ค.ร.น.
guestcf3942
การแก้อสมการ
การแก้อสมการ
Aon Narinchoti
พิธีเปิด ปิด กิจกรรมยุวกาชาด-เอกสาร56
พิธีเปิด ปิด กิจกรรมยุวกาชาด-เอกสาร56
Jariya Jaiyot
ข้อสอบการลงโทษนักเรียน
ข้อสอบการลงโทษนักเรียน
คน ขี้เล่า
รายงานวิจัยในชั้นเรียน
รายงานวิจัยในชั้นเรียน
chaiwat vichianchai
แผนการจัดการเรียนรุ้คุณธรรมนำความคิดเรื่องสารละลาย โดยใช้รูปแบบ 4 mat นายกอบว...
แผนการจัดการเรียนรุ้คุณธรรมนำความคิดเรื่องสารละลาย โดยใช้รูปแบบ 4 mat นายกอบว...
Kobwit Piriyawat
Clinical Practice Guideline 2557 แนวทางการดูแลรักษาโรคลมพิษ (Urticaria/Angio...
Clinical Practice Guideline 2557 แนวทางการดูแลรักษาโรคลมพิษ (Urticaria/Angio...
Utai Sukviwatsirikul
การเรียนรู้เสริมด้วย Technology enhanced learning1
การเรียนรู้เสริมด้วย Technology enhanced learning1
Prachyanun Nilsook
Java Stack Data Structure.pptx
Java Stack Data Structure.pptx
vishal choudhary
ความร้อน
ความร้อน
Theerawat Duangsin
พื้นที่ใต้โค้ง
พื้นที่ใต้โค้ง
krurutsamee
Anemia
Anemia
Asst.Prof.Dr.Terdsak Rojsurakitti
ข้อสอบความคิดสร้างสรรค์
ข้อสอบความคิดสร้างสรรค์
Jirathorn Buenglee
ทฤษฎีและพลังงานกับการเกิดปฏิกิริยาเคมี
ทฤษฎีและพลังงานกับการเกิดปฏิกิริยาเคมี
พัน พัน
มารยาทการต้อนรับแขก
มารยาทการต้อนรับแขก
songsri
การยกและการเคลื่อนย้ายผู้ป่วย
การยกและการเคลื่อนย้ายผู้ป่วย
Narenthorn EMS Center
mind map สื่อการเรียนรู้
mind map สื่อการเรียนรู้
Thunyalak Thumphila
8.Inheritance
8.Inheritance
UsableLabs
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Finian Nian
More Related Content
What's hot
เนื้อหาบท3
เนื้อหาบท3
Gawewat Dechaapinun
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
IMC Institute
ตัวอย่างการเขียนผังงาน
ตัวอย่างการเขียนผังงาน
sarida ruangthai
ห.ร.ม และ ค.ร.น.
ห.ร.ม และ ค.ร.น.
guestcf3942
การแก้อสมการ
การแก้อสมการ
Aon Narinchoti
พิธีเปิด ปิด กิจกรรมยุวกาชาด-เอกสาร56
พิธีเปิด ปิด กิจกรรมยุวกาชาด-เอกสาร56
Jariya Jaiyot
ข้อสอบการลงโทษนักเรียน
ข้อสอบการลงโทษนักเรียน
คน ขี้เล่า
รายงานวิจัยในชั้นเรียน
รายงานวิจัยในชั้นเรียน
chaiwat vichianchai
แผนการจัดการเรียนรุ้คุณธรรมนำความคิดเรื่องสารละลาย โดยใช้รูปแบบ 4 mat นายกอบว...
แผนการจัดการเรียนรุ้คุณธรรมนำความคิดเรื่องสารละลาย โดยใช้รูปแบบ 4 mat นายกอบว...
Kobwit Piriyawat
Clinical Practice Guideline 2557 แนวทางการดูแลรักษาโรคลมพิษ (Urticaria/Angio...
Clinical Practice Guideline 2557 แนวทางการดูแลรักษาโรคลมพิษ (Urticaria/Angio...
Utai Sukviwatsirikul
การเรียนรู้เสริมด้วย Technology enhanced learning1
การเรียนรู้เสริมด้วย Technology enhanced learning1
Prachyanun Nilsook
Java Stack Data Structure.pptx
Java Stack Data Structure.pptx
vishal choudhary
ความร้อน
ความร้อน
Theerawat Duangsin
พื้นที่ใต้โค้ง
พื้นที่ใต้โค้ง
krurutsamee
Anemia
Anemia
Asst.Prof.Dr.Terdsak Rojsurakitti
ข้อสอบความคิดสร้างสรรค์
ข้อสอบความคิดสร้างสรรค์
Jirathorn Buenglee
ทฤษฎีและพลังงานกับการเกิดปฏิกิริยาเคมี
ทฤษฎีและพลังงานกับการเกิดปฏิกิริยาเคมี
พัน พัน
มารยาทการต้อนรับแขก
มารยาทการต้อนรับแขก
songsri
การยกและการเคลื่อนย้ายผู้ป่วย
การยกและการเคลื่อนย้ายผู้ป่วย
Narenthorn EMS Center
mind map สื่อการเรียนรู้
mind map สื่อการเรียนรู้
Thunyalak Thumphila
What's hot
(20)
เนื้อหาบท3
เนื้อหาบท3
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
ตัวอย่างการเขียนผังงาน
ตัวอย่างการเขียนผังงาน
ห.ร.ม และ ค.ร.น.
ห.ร.ม และ ค.ร.น.
การแก้อสมการ
การแก้อสมการ
พิธีเปิด ปิด กิจกรรมยุวกาชาด-เอกสาร56
พิธีเปิด ปิด กิจกรรมยุวกาชาด-เอกสาร56
ข้อสอบการลงโทษนักเรียน
ข้อสอบการลงโทษนักเรียน
รายงานวิจัยในชั้นเรียน
รายงานวิจัยในชั้นเรียน
แผนการจัดการเรียนรุ้คุณธรรมนำความคิดเรื่องสารละลาย โดยใช้รูปแบบ 4 mat นายกอบว...
แผนการจัดการเรียนรุ้คุณธรรมนำความคิดเรื่องสารละลาย โดยใช้รูปแบบ 4 mat นายกอบว...
Clinical Practice Guideline 2557 แนวทางการดูแลรักษาโรคลมพิษ (Urticaria/Angio...
Clinical Practice Guideline 2557 แนวทางการดูแลรักษาโรคลมพิษ (Urticaria/Angio...
การเรียนรู้เสริมด้วย Technology enhanced learning1
การเรียนรู้เสริมด้วย Technology enhanced learning1
Java Stack Data Structure.pptx
Java Stack Data Structure.pptx
ความร้อน
ความร้อน
พื้นที่ใต้โค้ง
พื้นที่ใต้โค้ง
Anemia
Anemia
ข้อสอบความคิดสร้างสรรค์
ข้อสอบความคิดสร้างสรรค์
ทฤษฎีและพลังงานกับการเกิดปฏิกิริยาเคมี
ทฤษฎีและพลังงานกับการเกิดปฏิกิริยาเคมี
มารยาทการต้อนรับแขก
มารยาทการต้อนรับแขก
การยกและการเคลื่อนย้ายผู้ป่วย
การยกและการเคลื่อนย้ายผู้ป่วย
mind map สื่อการเรียนรู้
mind map สื่อการเรียนรู้
Viewers also liked
8.Inheritance
8.Inheritance
UsableLabs
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Finian Nian
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Finian Nian
6.Flow control
6.Flow control
UsableLabs
1.Introduction to java
1.Introduction to java
UsableLabs
Vocabulary for portal
Vocabulary for portal
UsableLabs
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Finian Nian
2.Java fundamentals
2.Java fundamentals
UsableLabs
Viewers also liked
(8)
8.Inheritance
8.Inheritance
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
Microsoft power point วิธีการเชิงวัตถุและการออกแบบคลาส.pptx
6.Flow control
6.Flow control
1.Introduction to java
1.Introduction to java
Vocabulary for portal
Vocabulary for portal
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
2.Java fundamentals
2.Java fundamentals
Similar to 5.Methods cs
3.Expression
3.Expression
UsableLabs
Chapter3
Chapter3
Parkae' Kusuma
66
66
Parkae' Kusuma
Computer Programming 4
Computer Programming 4
Saranyu Srisrontong
บทที่ 8 Methods
บทที่ 8 Methods
Kanchana Theugcharoon
METHODS
METHODS
kessara61977
Method
Method
Latcha MaMiew
เมธอด
เมธอด
Pannipa Saetan
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Finian Nian
บทที่ 5 คลาส
บทที่ 5 คลาส
Theeravaj Tum
เมธอด
เมธอด
กฤษดา จันทร์ชาวใต้
เมธอด
เมธอด
กฤษดา จันทร์ชาวใต้
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Tua Tor
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุ
BoOm mm
Power point
Power point
Pookie Pook
เมธอด กลุ่ม3
เมธอด กลุ่ม3
Piyada Petchalee
งานนำเสนอ1
งานนำเสนอ1
Art Patiwat YourJust'one
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
Ploy StopDark
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
Ploy StopDark
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
Pornsitaintharak
Similar to 5.Methods cs
(20)
3.Expression
3.Expression
Chapter3
Chapter3
66
66
Computer Programming 4
Computer Programming 4
บทที่ 8 Methods
บทที่ 8 Methods
METHODS
METHODS
Method
Method
เมธอด
เมธอด
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
บทที่ 5 คลาส
บทที่ 5 คลาส
เมธอด
เมธอด
เมธอด
เมธอด
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุ
คลาสและการเขียนโปรแกรมเชิงวัตถุ
Power point
Power point
เมธอด กลุ่ม3
เมธอด กลุ่ม3
งานนำเสนอ1
งานนำเสนอ1
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
More from UsableLabs
การจัดการความรู้
การจัดการความรู้
UsableLabs
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
UsableLabs
อาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูด
UsableLabs
4.Oop
4.Oop
UsableLabs
ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่
UsableLabs
30 web (blog2book)
30 web (blog2book)
UsableLabs
ภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆ
UsableLabs
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
UsableLabs
สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability
UsableLabs
แนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมน
UsableLabs
Health
Health
UsableLabs
Money
Money
UsableLabs
correct_Portal manual
correct_Portal manual
UsableLabs
Lit
Lit
UsableLabs
Blog
Blog
UsableLabs
เทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษา
UsableLabs
Portal profile
Portal profile
UsableLabs
Card sorting
Card sorting
UsableLabs
King's birthday
King's birthday
UsableLabs
Portal manual (Original)
Portal manual (Original)
UsableLabs
More from UsableLabs
(20)
การจัดการความรู้
การจัดการความรู้
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
อาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูด
4.Oop
4.Oop
ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่
30 web (blog2book)
30 web (blog2book)
ภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability
แนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมน
Health
Health
Money
Money
correct_Portal manual
correct_Portal manual
Lit
Lit
Blog
Blog
เทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษา
Portal profile
Portal profile
Card sorting
Card sorting
King's birthday
King's birthday
Portal manual (Original)
Portal manual (Original)
5.Methods cs
1.
344-202 Introduction to
Object-Oriented Programming การโปรแกรมเชิงวัตถุ 5. Methods Faculty of Technology and Environment Prince of Songkla University, Phuket Campus 2/2551
2.
Contents Method
overview Call stack Method signature Static method & Instance method Constructor Overload method Information hiding get-set methods Object-Oriented Programming 2/2551 2
3.
Method overview
ปกติโปรแกรมจะทางานตามลาดับคาสั่งที่เขียนในโปรแกรม การใช้เมธอดช่วยให้สามารถแบ่งการทางานของโปรแกรมเป็นส่วน ๆ แต่ละเมธอดจะมีคาสั่งในการดาเนินการที่เกี่ยวข้องกัน เมื่อมีการเรียกเมธอด (invoked / called) ก็จะมีการย้ายไปทางานที่ เมธอดนั้นจนเสร็จแล้วจึงกลับมาทางานต่อที่คาสั่งถัดไปหลังการเรียก เมธอด เมธอดที่กาลังทางานจะได้รับ control ไป ซึ่งหากมีการเรียกใช้เมธอดอื่น ก็จะย้าย control ไปยังเมธอดที่ถูกเรียก เมื่อทาเสร็จแล้ว control ก็จะ กลับมายังเมธอดที่เรียกใช้ เรียกว่า Flow of control Object-Oriented Programming 2/2551 3
4.
Method เมธอดแรกที่ถูกเรียกใช้ให้ทางานในจาวาคือ
main() ซึ่งจะเรียกโดย JVM JVM จะจดจาเมธอดที่เรียกใช้ได้วาเมธอดใดเรียกเมธอดใดโดยใช้ ่ โครงสร้างที่เรียกว่า call stack เมธอดที่ถูกเรียกใช้งานจะถูกใส่ไว้ใน call stack เมื่อเมธอดนั้นทางานเสร็จก็จะถูกเอาออกจาก call stack หาก main() มีการเรียกใช้เมธอดดังนี้ Object-Oriented Programming 2/2551 4
5.
แสดงการทางานของ call stack Object-Oriented
Programming 2/2551 5
6.
method signature
โครงสร้างเมธอด access_modifier return_type methodName(parameter_list) { … } Access_modifier (public/private) Return_type (ชนิดข้อมูลที่ส่งกลับไปให้คลาสที่เรียกใช้เมธอดนี้) methodName (ชื่อเมธอด) Parameter_list (ชนิดข้อมูลที่ต้องส่งให้กับเมธอด) Object-Oriented Programming 2/2551 6
7.
Static method VS
instance method ในจาวามีเมธอด 2 แบบคือ Static method Instance method static method • เป็นเมธอดที่มีคาว่า static อยู่หน้าชื่อเมธอด public static void main(String[] args) { } • ตัวแปรหรือเมธอดที่เป็น static จะถูกจองพื้นที่ในขณะคอมไพล์โปรแกรม • สามารถเรียกใช้ได้ทันทีโดยไม่ต้องสร้าง object มาเรียกใช้งาน Object-Oriented Programming 2/2551 7
8.
Static method
เมธอดที่เป็น static จะเรียกใช้เมธอดและตัวแปรที่เป็น static โดยตรงได้ หากต้องการเรียกใช้เมธอดที่ไม่ใช่ static จะต้องสร้าง object มาเรียกใช้งาน Object-Oriented Programming 2/2551 8
9.
Static method
หากโปรแกรมนี้เมธอด sayHello() ไม่มีคาว่า static จะเกิดข้อผิดพลาด ขณะคอมไพล์ Object-Oriented Programming 2/2551 9
10.
Instance method
Instance method เป็น method ภายในคลาสที่เป็นต้นแบบของวัตถุ ไม่ระบุคาว่า static การเรียกใช้งานต้องสร้าง object ของคลาสขึ้นมาก่อน แล้วจึงเรียกใช้งานเมธอด ของ object . objectName methodName(); การจองพื้นที่ตัวแปรในเมธอดจะเกิดขณะรันโปรแกรม Object-Oriented Programming 2/2551 10
11.
Instance method
ตัวอย่างการใช้งาน instance method Object-Oriented Programming 2/2551 11
12.
Method with/without return
type เมธอดที่ไม่มการคืนค่า ให้กาหนด return_type เป็น void ี public void mailCheck() { … } การเรียกใช้ o.mailCheck(); เมธอดที่มีการคืนค่า ให้ระบุชนิดข้อมูลที่จะคืนค่า และใส่ค่าที่จะ return ในเมธอด public double calculateArea() { … return area; } การเรียกใช้ System.out.println(x.calculateArea()); Object-Oriented Programming 2/2551 12
13.
Method with/without return
type ชนิดข้อมูลของ Return type อาจเป็น primitive data types หรือชนิด ข้อมูลที่เป็น class เช่น String หากเป็น method ที่มีการคืนค่า ต้องมีการระบุคาสั่ง return ไว้ใน method นั้นด้วยว่าตัวแปรที่จะส่งคืนคืออะไร ชนิดข้อมูลของตัวแปรที่ส่งคืน ต้องเป็นชนิดเดียวกันกับ return-type Object-Oriented Programming 2/2551 13
14.
Method with/without parameter
เมธอดที่ประกาศในคลาส Test class Test { // เมธอดที่ไม่มีการรับ parameter การเรียกใช้เมธอดใน main() … public void printHello() { Test t = new Test(); System.out.println(“Hello”); t.printHello(); } t.multiply(5,9); //เมธอดที่มีการรับ parameter … public void multiply(int x, int y) { System.out.println(x*y); } เรียกว่า argument คือค่าที่ส่งให้เมธอด } Object-Oriented Programming 2/2551 14
15.
Passing parameter to
a method การส่งค่าให้แก่เมธอดทาได้ 2 แบบ Pass-by-value ส่งเฉพาะข้อมูล คือการส่งค่า primitive data type Pass-by-reference ส่งค่าแบบอ้างอิง คือการส่ง address ซึ่งใช้ในการส่ง object Object-Oriented Programming 2/2551 15
16.
Declare method with
parameter Object-Oriented Programming 2/2551 16
17.
Constructor Constructor
คือ เมธอดทีมีชื่อเหมือนคลาส และไม่มการระบุ return type ่ ี หรือ void หน้าที่หลักคือ กาหนดค่าเริ่มต้นให้กบ attribute ในคลาส ั เมื่อเราสร้างวัตถุด้วยคาสั่ง new จะเป็นการเรียกใช้ Constructor method เช่น Circle a = new Circle(); // default constructor ปกติแล้ว ทุกคลาสจะมี default constructor คือ constructor ที่ไม่มีการส่ง parameter ใดๆ เราไม่ต้องประกาศ default constructor แต่จาวาจะสร้างให้เอง Object-Oriented Programming 2/2551 17
18.
Constructor
Class Circle มี default constructor method คือ Circle(){ } จาวาจะสร้างให้เองในระหว่างการคอมไพล์ Object-Oriented Programming 2/2551 18
19.
Constructor
radius 0 a area 0.0 เมื่อเราสร้าง object ด้วยคาสั่ง Circle a = new Circle(); จะเป็นการเรียก constructor method Circle() ซึ่งไม่ได้ทาการกาหนดค่า ใดๆให้ attribute ของ Circle ดังนั้น radius จึงยังมีค่าตาม default คือ 0 Object-Oriented Programming 2/2551 19
20.
Constructor
เรามักใช้ Constructor กาหนดค่าเริ่มต้นแก่ attribute ตอนสร้าง object radius 5 a area 0.0 Object-Oriented Programming 2/2551 20
21.
Constructor
เราสามารถส่ง parameter ให้แก่ Constructor ได้ Object-Oriented Programming 2/2551 21
22.
Overloaded methods
ภายในคลาสสามารถมีเมธอดชื่อเดียวกันได้หลายเมธอด แต่เมธอดเหล่านี้ต้องมีชนิดหรือจานวนของ parameter ไม่เหมือนกัน เมื่อมีการเรียกใช้ จาวาจะตรวจสอบชนิดหรือจานวนของ argument ที่ส่ง มาว่าตรงกับเมธอดตัวใด ก็จะให้เมธอดตัวนั้นทางาน เมธอดที่มีชื่อเดียวกันเหล่านี้เรียกว่า overloaded methods Object-Oriented Programming 2/2551 22
23.
Overloaded methods
Multiply int * int 20 Multiply double * double 20.0 Object-Oriented Programming 2/2551 23
24.
OO concept –
Information Hiding ในการพัฒนาตามแนวทาง OOP จะมีการใช้งานคลาสที่ได้พฒนาไว้แล้วั จากนั้นเขียนโปรแกรมเพื่อสร้าง object จากคลาสนั้นมาใช้งาน เรียก โปรแกรมนี้ว่า client program ผู้พัฒนา client program ต้องรู้ว่าคลาสที่จะใช้งาน มีตัวแปรและเมธอด อะไรให้ใช้ แต่ไม่จาเป็นต้องรู้ว่าเมธอดนั้นมีการทางานอย่างไร ตัวแปรหรือเมธอดของคลาสบางตัวไม่ต้องการให้มีการแก้ไขได้จากคลาส หรือโปรแกรมอื่นโดยตรง Object-Oriented Programming 2/2551 24
25.
Why encapsulation?
เนื่องจาก object อาจถูกเรียกใช้จากหลายคลาสพร้อม ๆ กันได้ จึงอาจ ต้องซ่อนตัวแปรหรือเมธอดไว้ไม่ให้ถูกแก้ไขคุณสมบัติบางอย่างที่อาจ ส่งผลกระทบต่อคลาสอื่น การปกป้องเมธอดหรือตัวแปร ทาได้โดยการกาหนดระดับการเข้าถึงตัว แปรและเมธอด (access modifier) Object-Oriented Programming 2/2551 25
26.
Access modifier
Access modifier บอกระดับการ เข้าถึงของตัวแปรและเมธอด public - คลาสอื่นสามารถ เรียกใช้ตัวแปรหรือกาหนดค่าให้ ตัวแปรได้โดยตรง • เช่น c.radius = 5; private - ตัวแปรหรือเมธอดที่เป็น private ไม่สามารถถูกเข้าถึงหรือ เรียกใช้จาก method อื่นได้ โดยตรง Object-Oriented Programming 2/2551 26
27.
การประกาศ Get-set method
การเข้าถึงตัวแปร private จะทาผ่านเมธอดที่เป็น public เมธอดที่ใช้เข้าถึงตัวแปร private ประกอบด้วย set method ใช้กาหนดค่าให้ตัวแปรคลาส get method ใช้รับค่าจากตัวแปรคลาส Object-Oriented Programming 2/2551 27
28.
EX. Get-set method
of id Object-Oriented Programming 2/2551 28
29.
แบบฝึกหัด
สร้างคลาสชือ Account ่ ประกาศตัวแปร name และ balance เป็น private สร้าง get-set method ของตัวแปรที่เป็น private เขียนโปรแกรม AccountDemo กาหนดค่า name = “Harry Potter” กาหนดค่า balance = 10000 เรียก get-set method แสดงค่า name, balance Object-Oriented Programming 2/2551 29
Download now