Untitled Document
สวัสดีครับ
คราวนี้เรามาว่ากันด้วยเรื่องของ Method อีกนะครับ ซึ่งในบทความนี้ผมจะกล่าวถึง
Constructor Method
ครับ มันคืืออะไรกันแน่เราลองมาดูกันเลยครับ
Constructor Method
หมายถึง Method ใดๆ ที่มีชื่อเดียวกับชื่อ Class ซึ่งเมื่อ Object ใดๆ ถูกสร้างขึ้นมาภายใต้
Class หนึ่ง โปรแกรมจะต้องไปเรียก ใช้ Method นี้ทันทีถ้ามี ถ้าเราสร้าง Object
ขึ้นมาเราจะสังเกตได้ดังนี้
จะเห็นว่ารูปแบบในการสร้าง Object ที่เรียนในบทเรียนแรกจะต้องเขียนชื่อ
Class ก่อนแล้วตามด้วยชื่อ Object หลังเครื่องหมาย = จะเป็น new
และตามด้วยชื่อ Class เดิมแล้วตามด้วย ( ) ซึ่งจริงๆ
แล้วชื่อ Class เดิมแล้วตามด้วย ( ) ก็คือ Constructor Method
นั่นเอง Constructor Method นั้นจะถูกเรียกใช้งานเป็นลำดับแรกเมื่อเราสร้าง
Object ขึ้นมา ซึ่งภายใน Class เราจะมี Constructor Method หรือไม่มีก็ได้ ส่วนใหญ่แล้วนิยมสร้าง
Constructor Method ไว้เพื่อกำหนดค่าเริ่มต้นต่างๆ สำหรับโปรแกรม
*** Constructor Method ต้องมีชื่อเดียวกับชื่อ Class เท่านั้น
*** Constructor Method ต้องไม่มีค่า retrun_data_type หรือแม้กระทั่ง void
อธิบายโปรแกรม
จากโปรแกรมเราจะเห็น Method ชื่อ TestCon() เป็น Constructor Method โดยทำหน้าที่แสดงผลประโยค
"Method Constructor" ออกมาทุกครั้งที่เราสร้าง
object จาก Class นี้ ให้สังเกตที่ main นะครับ object ชื่อ c ถูกสร้างขึ้นมา และเรียกใช้
Method ชื่อ Hello() แล้วผลลัพธ์ที่ออกมาคือ จะแสดงข้อความ "Method Constructor"
และข้อความ "Hello" ออกมาทั้ง 2 ข้อความครับ ลองรันดูนะครับ
ลองมาดูกันอีกซักตัวอย่างนะครับ
อธิบายโปรแกรม ตัวอย่างนี้ก็จะคล้ายตัวอย่างที่แล้วนะครับ
เพียงแต่ผมจะแสดงให้เห็นว่า Constructor Method นั้นอาจจะมีการ รับพารามิเตอร์ได้ด้วย
โดยที่ TestCon(int x) ผมเปลี่ยนให้รับค่าเข้ามา 1 ค่าเก็บที่ตัวแปร x แล้วนำค่านั้นมาแสดงผลออกมาครับ
เรามาดูที่ main นะครับ ตอนสร้าง object เราเห็นว่ามีการใส่เลข 2 ไว้ที่ตอนเรียก
Constructor Method ด้วยนะครับ เพราะถ้าเราไม่ใส่ตัวเลขตามรูปแบบของ Constructor
ที่มีอยู่นั้นเราจะคอมไพล์ไม่ผ่านนะครับ ลองดูได้ครับให้ลองเอาเลข 2 ออกแล้วคอมไพล์ดูครับ
ดังนั้นเราจึงสรุปได้ว่าใน Class หนึ่งๆ สามารถสร้าง
Constructor Method ไว้ใช้งานได้ โดยที่รูปแบบของ
Constructor ที่เราสร้างนั้นจะมีผลเมื่อตอนที่เราสร้าง object ถ้า Constructor
Method ไม่มีการรับพารามิเตอร์เวลาเราสร้าง object ก็ให้เราสร้างตามปกติ แต่ถ้า
Constructor Method มีการรับพารามิเตอร์ให้เราส่งพารามิเตอร์ในวงเล็บให้ครบตามจำนวน
ด้วยนะครับ
ผมคิดว่าความเข้าใจเรื่อง Constructor Method
ในบทความนี้คงยังไม่มีอะไรซับซ้อนมากเท่าไหร่นักนะครับ คงพอจะมองภาพรวม กันออก
แต่จริงๆ แล้วมันยังมีเทคนิควิธีการแบบอื่นอีกครับซึ่งผมจะค่อยๆ เพิ่มเติมเข้ามาทีละนิดให้พวกเราได้เรียนรู้กัน
ในคราวหน้า จะมาว่ากันด้วยเรื่องประมาณว่า ถ้ามีชื่อ Method ซ้ำกันจะเป็นไปได้ไหม
? โปรแกรมจะเป็นไปในลักษณะใด ? ติดตามตอนต่อไป ได้เลยครับ...
|