Translate

วันเสาร์ที่ 5 มกราคม พ.ศ. 2556

รู้จัก และใช้งาน Constructor

Constructor คืออะไร


  • Constructor หรือ Constructor method คือเมธอดที่มีชื่อเดียวกับคลาส ซึ่งเมื่อออบเจ็กต์ใดๆ ถูกสร้างขึ้นมาในคลาสแล้ว แล้วเมธอดนี้จะถูกเรียกใช้ทันที 

  • โดยทั่วไปทุกคลาสจะต้องมี Constructor แต่ถ้าคลาสที่เราสร้างนั้นไม่มี Constructor ไว้เลย ตัวคอมไพเลอร์เองจะทำการสร้าง Constructor ขึ้นมาให้โดยอัตโนมัติ เรียกว่า “default constructor”


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

ตัวอย่างเพื่อศึกษาการสร้าง Constructors



Overloading Constructors
  • คอนสตรัคเตอร์สามารถทำเป็นเมธอดแบบ Overloading ได้ เมธอดแบบนี้คือเมธอดที่มีชื่อเหมือนกันหลายๆ ตัวซึ่งแต่ละตัวมีการรับพารามิเตอร์ที่แตกต่างกัน เช่น 
  • public Student(String ID, String Name, int Age)
  • public Student(String Name, String Address)
  • public Student(int Age)
  • ตัว Constructor เอง สามารถเรียกใช้งาน Constructor อื่นที่อยู่ในคลาสเดียวกันได้ด้วย this
  • ตัวอย่าง

เรียกใช้ Constructor ในคลาสบรรพบุรุษด้วย super

  • ในการเรียกใช้งาน Constructor ของคลาสบรรพบุรุษ เราสามารถเรียกใช้งานได้ด้วยคำสั่ง Super
 คลาสบรรพบุรุษ คืออะไร
  • ในการสร้างคลาส เราสามารถสร้างคลาสที่สืบต่อจากอีกคลาสหนึ่งได้ อาจเรียกงายๆว่าคลาสแม่(Super class) กับ คลาสลูก(Sub Class) ซึ่งคลาสลูกจะสืบทอดคุณสมบัติบางประการจากคลาสแม่

การใช้งานคำสั่ง Super
  • การใช้งานคำสั่ง Superหากในคลาสลูกมีคำสั่ง Super ปรากฏอยู่ โปรแกรมจะกระโดดไปทำงาน Constructor ที่อยู่ในคลาสแม่ แล้วค่อยกลับมาทำงานภายใน Constructor ที่อยู่ในคลาสของตัวเอง โดยเวลาจะเขียนคำสั่ง super ต้องเขียนไว้บรรทัดแรกสุดของ Constructor คลาสลูกเท่านั้น

ตัวอย่างการใช้งานคำสั่ง Super

ไม่มีความคิดเห็น:

แสดงความคิดเห็น