เรียนเขียนโปรแกรมง่ายๆ กับ Expert Programming Tutor ในบท การสร้าง class
ก็เหมือนกับการสร้าง class กับการที่เราสร้างclass ในพวก java อะไรพวกนี้ เเต่มันจะมีฟีเจอร์บางอย่างที่มันเพิ่มเข้ามาในภาษา dart เรามาเรียนรู้กัน เรื่องเเรกเรามาพูดถึงการสร้าง class แบบง่ายๆก่อน
void main() { |
เราสร้าง class ขึ้นมาเเล้ว ต่อไปเราจะมาสร้าง object พอเราสร้างขึ้นมา มันก็จะไปเรียก default constructor ซึ่งตอนนี้เราไม่มี default constructor เราก็พิมพ์
void main() { |
ผลลัพธ์
Fname: null, Lname: null |
ได้ผลลัพธ์คือ none ก็เป็นไปตามค่า เราก็สามารถใส่ค่าให้มันได้ แต่ตัวอย่างนี้ยังไม่มีการเรียกใช้ default constructor กรณีนี้ถ้าเขาไม่ใส่ค่าเข้ามามันก็จะปริ้นค่า none เราก็ควรมี default constructor มาดูตัวอย่าง
void main() { |
เราก็จะกำหนดค่า default constructor เเละสร้าง object
ตัวอย่าง
การทำ default constructor ในกรณีที่เราไม่ใส่ค่าเข้ามา
void main() { |
ก็จะได้ผลลัพธ์ none ออกมา
Fname: null, Lname: null |
เราก็ต้องมีค่าเริ่มต้นเเละเปลี่ยนแปลงค่าได้ และสร้าง object ตัวที่ 3 คือ Constructor Overriding จะทำการใส่พารามิเตอร์เข้ามา
void main() { |
PersonV2(String fname, String lname) { |
มันฟ้อง error เมื่อเราสร้างทั้ง 2 ตัวซ้ำกัน คือ default constructor และ Constructor overlodeing และทำไม 2 ตัวนี่ถึงอยู่คู่กันไม่ได้ล่ะ ก็เพราะว่าในภาษา dart เนี่ย ถ้าเราจะสร้าง Constructor Overriding เราต้องตั้งชื่อให้มันด้วย มันถึงจะรันผ่าน
ตัวอย่าง
PersonV2.tutor_name(String fname, String lname) { |
ต่อมาการเป็นสร้างclass อีกแบบ คือ setter,getter โจทย์ของเรา คือ ตอนที่เรามี fname และ lname มันก็ต้องมีเพศชายกับหญิง เเต่เราไม่อยาก พิมพ์ Mrs. Mr. เราเลยต้องการเรียกใช้ set เพื่อเติมให้เราเอง
ตัวอย่าง
เราก็จะประกาศ set ขึ้นมา
class PersonV3 { |
นี่คือการสร้าง set ขึ้นมา
void set nameMele(String fname) { |
เดี๋ยวลองมาเรียกใช้ให้มันโยนเข้ามาให้มันset ข้อความ ออกมา
String get vipMember { |
ต่อมาเรื่อง getter ในเคสนี้ก็คือ เราต้องการ print ชื่อกับนามสกุล และมีคำว่า vip ตามหลัง เราก็ไม่ต้องมานั่งเขียนเองเราก็ใช้ get เลย
ตัวอย่าง
class PersonV4 { |
กลับมาที่บรรทัดนี้ obj4
ตัวอย่าง
ต้องการให้มันprint ค่า none
void main() { |
ผลลัพธ์
Fname: null, Lname: null |
และเราอยาก set ค่า ให้เขาเป็นผู้ชาย
ตัวอย่าง
Fname: null, Lname: null |
และนี่ก็คือ setter getter นั่นเอง การนำตัวแปรเเละให้มันโยนค่าเข้าไปได้เลย ให้มัน set ค่านั่นเอง สุดท้ายคือการเรียกใช้ฟังก์ชัน callable เราจะสร้าง object ตัวนึงเป็น obj5 และไปนิวกับ V4 ถ้าเราอยากจะเอา obj5 ให้มันทำอะไรสักอย่างนึง เราสามารถทำได้ โดยการใช้ call()
ตัวอย่าง
ประกาศฟังก์ชัน
// callable |
ผลลัพธ์
Fname: null, Lname: null |
นี่คือการเรียกใช้ตัว object แต่ในเคสนี้คือ object แบบ callable เราสามารถที่จะปริ้นอะไรสักอย่างนึงแบบนี้ไวยากรณ์มันก็จะสั้นลง เพื่อให้เห็นภาพชัดเจน เราจะ set ชื่อให้มัน
ตัวอย่าง
// callable |
ผลลัพธ์
Fname: null, Lname: null |
เราสามารถ print ได้เลย เเละไวยากรณ์มันจะสั้นลง เราจะ return ให้มันคืนค่ากลับมา บางคนก็อาจจะงง ว่าตรงนี้มันคืออะไร เราก็ต้องไปไล่ดูว่ามีfunction callable อยู่หรือเปล่า
Tag ที่น่าสนใจ: class constructor dart default_constructor object_oriented_programming method instance programming variable parameter inheritance encapsulation polymorphism constructor_overriding
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM