Just another WordPress.com site

เมื่อพิจารณา class ที่ชื่อว่า rectangle ข้างบน จะเห็นว่า method area และ method perimeter จะต้องรับค่าเป็นตัวแปรชนิด double เท่านั้น

ทีนี้เราอาจจะต้องการให้ method ใน class ของเรารับตัวแปรชนิดอื่นๆ เช่น int, float ได้ด้วย เราสามารถทำได้โดยการสร้าง template สำหรับ class  ขึ้นมาครับ วิธีการเขียนก็คล้ายกับการสร้าง template ให้กับฟังก์ชันเลยครับ

สำหรับ method area และ method perimeter สมมติว่าเดิมทีผมเขียนโค้ดแบบนี้

เมื่อผมสร้าง template ผมจะทำการดัดแปลงโค้ดไปเล็กน้อยดังนี้ครับ

ทีนี้ถ้าผมต้องการสร้าง class rectamgle โดยให้ตัวแปรที่รับเข้ามาเป็นชนิด double ผมจะสั่งแบบนี้ครับ

ถ้าผมลองลองเปลี่ยนชนิดตัวแปรที่รับเข้ามาเป็น int ดู เมื่อลองรันดูก็จะได้ผลดังนี้ครับ

ถ้าเราต้องการสร้าง template ให้กับ class ในกรณีที่เราต้องการใช้ตัวแปรมากกว่า 1 ชนิด เช่น สมมติว่าใน class ที่ผมยกตัวอย่างมาข้างต้น ผมต้องการให้ชนิดของตัวแปร input และ output สำหรับในแต่ละ method ไม่จำเป็นที่ตัองเป็นตัวแปรชนิดเดียวกัน ผมสามารถปรับวิธีการเขียนโค้ดได้แบบนี้ครับ

โค้ดในส่วนของ method area และ method perimeter ก็มีการปรับเปลี่ยนเล็กน้อยดังนี้ครับ

สำหรับการสร้าง class ในส่วนของ main ผมจะสร้าง class ที่ชื่อว่า

rec1 ที่รับ input เป็นตัวแปรชนิด double และ return ค่าเป็นข้อมูลชนิด double

และ class ที่ชื่อว่า

rec2 ที่รับ input เป็นตัวแปรชนิด double และ return ค่าเป็นข้อมูลชนิด int

ผมสามารถสร้างได้ดังนี้ครับ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: