วิธีการ Getters และ Setters ของ C ++

Withi Kar Getters Laea Setters Khxng C



ภาษาระดับสูงภาษาหนึ่งที่ใช้กันอย่างแพร่หลายคือ C++ ซึ่งช่วยเราในการทำงานและฟังก์ชันต่างๆ นอกจากนี้ยังมีไฟล์ส่วนหัวหลายไฟล์ที่มีการประกาศฟังก์ชัน และเราอาจสร้างคลาสในโค้ด C++ คุณสมบัติเหล่านี้ทำให้งานของเราสะดวกยิ่งขึ้น แก่นแท้ของหลักการห่อหุ้มคือตัวรับและผู้ตั้งค่า Getters ทำให้ข้อมูลส่วนตัวเข้าถึงได้จากสาธารณะ พวกเขาอาจเปลี่ยนแปลงผลลัพธ์ที่ส่งคืนบ้าง ตัวตั้งค่าทำให้สามารถเปลี่ยนตัวแปรส่วนตัวได้ สิ่งเหล่านี้มีความสำคัญเนื่องจากอาจเสนอการยืนยันก่อนที่จะตั้งค่า ลองใช้ getters และ setters เหล่านี้ในโค้ด C++ ของเราที่นี่

ตัวอย่างที่ 1:

เราใช้ไฟล์ส่วนหัวที่นี่เพื่อเริ่มโค้ดของเรา เนื่องจากมีให้สำหรับการพัฒนา C++ เราโหลดไฟล์ส่วนหัวที่จำเป็นในการเรียกใช้โค้ดนี้เพื่อเริ่มต้น ไฟล์ส่วนหัว “string” และ “iostream” รวมอยู่ในโค้ดนี้ ต่อมาเราจะรวม 'namespace std' หลังจากนั้น







จากนั้นเราสร้างคลาส 'Table' ที่นี่และเริ่มต้นตัวแปรส่วนตัวชื่อ 'count' ด้วยประเภทข้อมูล 'int' และเก็บ '15' ไว้ในนั้นเป็นค่าของมัน หลังจากนี้ เราจะใส่คีย์เวิร์ด 'สาธารณะ' จากนั้นเราสร้างฟังก์ชันชื่อ 'getCount()' ประเภทข้อมูลคือ 'int' นี่คือฟังก์ชัน getter ที่นี่ เราส่งคืน 'การนับ' นี้ในฟังก์ชันนี้โดยใช้คำหลัก 'return' จากนั้นเราเรียกใช้ฟังก์ชัน 'main()' ต่อไปนี้โดยที่เราสร้างอ็อบเจ็กต์ของคลาสก่อนหน้าด้วยชื่อ 'T_obj' จากนั้นเราเรียกใช้ฟังก์ชัน 'getCount()' กับคลาสอ็อบเจ็กต์นี้ในคำสั่ง 'cout' เพื่อรับค่าการนับและพิมพ์ผลลัพธ์ที่นี่



รหัส 1:

#รวม

#รวม

โดยใช้ เนมสเปซ มาตรฐาน -

ระดับ โต๊ะ

-

ส่วนตัว -
ภายใน นับ - สิบห้า -
สาธารณะ -
ภายใน getCount - -
-
กลับ นับ -
-
- -
ภายใน หลัก - -
-
ตาราง T_obj -


ศาล - 'เราได้ตัวเลขของตารางที่นี่ซึ่งก็คือ: ' - T_obj. getCount - - -

-

เอาท์พุท:

หลังจากการคอมไพล์โค้ดนี้เสร็จสมบูรณ์และสำเร็จแล้ว เราจะได้ผลลัพธ์ที่ต้องการ ซึ่งเราจะเห็นว่าได้รับค่าการนับและแสดงไว้ที่นี่ซึ่งก็คือ '15' มันถูกเตรียมใช้งานภายในคลาส 'ส่วนตัว'







ตัวอย่างที่ 2:

ไฟล์ส่วนหัว “string” และ “iostream” ที่จำเป็นสำหรับโค้ดนี้รวมอยู่ที่นี่ จากนั้นจะรวม 'namespace std' ไว้หลังจากนั้น ต่อไป เราสร้างอินสแตนซ์ใหม่ของคลาส 'MySquareClass' เริ่มต้นตัวแปรส่วนตัวที่เรียกว่า 'squareSide' ด้วยประเภทข้อมูล 'int' และตั้งค่าเป็น '5' จากนั้นจึงเพิ่มคีย์เวิร์ด 'สาธารณะ' และฟังก์ชันที่เรียกว่า 'getSquareSide()' พร้อมด้วยประเภทข้อมูล 'int' ได้รับการพัฒนา

ในที่นี้เรียกว่าฟังก์ชัน 'getter' ภายในนี้เรา 'คืน' 'squareSide' ดังนั้นเมื่อเราเรียกใช้ฟังก์ชันนี้ มันจะให้ค่า 'squareSide' หลังจากนี้ เราจะวางฟังก์ชันอื่นที่เรียกว่า 'getSquarePerimeter()' ที่นี่ เราวางสูตรเพื่อค้นหาเส้นรอบวง ดังนั้นมันจะคืนค่าเส้นรอบวงของสี่เหลี่ยมจัตุรัสหลังจากได้ค่าด้านของสี่เหลี่ยมจัตุรัสแล้วคูณด้วย '4' เรายังต้องหาพื้นที่ของสี่เหลี่ยมจัตุรัสด้วย เพื่อจุดประสงค์นี้ เราพัฒนาอีกหนึ่งฟังก์ชันชื่อ 'getSquareArea()' และคำนวณพื้นที่ของสี่เหลี่ยมจัตุรัสโดยใช้สูตรที่คูณด้านข้างของสี่เหลี่ยมจัตุรัส มันจะคืนค่าพื้นที่ของสี่เหลี่ยมจัตุรัสเมื่อใดก็ตามที่เราเรียกมัน และรับค่าของด้านสี่เหลี่ยมจัตุรัสจากตัวแปร 'squareSide' ก่อนหน้า



ตอนนี้เราต้องเรียกใช้ฟังก์ชันเหล่านี้ เราเรียกใช้ 'main()' จากนั้นสร้างวัตถุของ 'MySquareClass' ด้วยชื่อ 'sq_obj1' หลังจากนี้ เราจะเรียกและพิมพ์ฟังก์ชันทั้งสามด้วยคลาสอ็อบเจ็กต์นี้แยกจากกัน

รหัส 2:

#รวม

#รวม

โดยใช้ เนมสเปซ มาตรฐาน -

ระดับ มายสแควร์คลาส

-

ส่วนตัว -

ภายใน สแควร์ไซด์ - 5 -
สาธารณะ -
ภายใน getSquareSide - -
-
กลับ สแควร์ไซด์ -
-
ภายใน getSquarePerimeter - -
-
กลับ สแควร์ไซด์ - 4 -
-
ภายใน getSquareArea - -
-
กลับ สแควร์ไซด์ - สแควร์ไซด์ -
-
- -
ภายใน หลัก - -
-
มายสแควร์คลาส sq_obj1 -

ศาล - 'ด้านสี่เหลี่ยม = ' -

sq_obj1. getSquareSide - - - สิ้นสุด -

ศาล - 'เส้นรอบรูปของสี่เหลี่ยมจัตุรัส = ' -

sq_obj1. getSquarePerimeter - - - สิ้นสุด -

ศาล - 'พื้นที่รูปสี่เหลี่ยมจัตุรัส = ' -

sq_obj1. getSquareArea - - - สิ้นสุด -

-

เอาท์พุท:

ขั้นแรก จะแสดงด้านข้างของสี่เหลี่ยมจัตุรัสซึ่งก็คือ “5” โดยใช้ฟังก์ชัน “getSquareSide()” จากนั้นจะพิมพ์เส้นรอบวงของสี่เหลี่ยมจัตุรัสโดยใช้ฟังก์ชัน 'getSquarePerimeter()' และพื้นที่ของสี่เหลี่ยมจัตุรัสโดยใช้ฟังก์ชัน 'getSquareArea()'

ตัวอย่างที่ 3:

ที่นี่ เรามีคลาส 'Driver' ซึ่งเราใส่คีย์เวิร์ด 'ส่วนตัว' และประกาศ 'driverSalary' เป็นสมาชิกส่วนตัวด้วยประเภทข้อมูล 'int' หลังจากนี้ เรามี 'สาธารณะ' โดยที่เราสร้างฟังก์ชัน 'setDriverSalary' และส่ง 'int d_s' เป็นพารามิเตอร์ของฟังก์ชันนี้ นี่คือฟังก์ชัน setter ที่นี่ในโค้ดนี้ ตอนนี้เรากำหนด 'd_s' ให้กับตัวแปร 'driverSalary' ภายในฟังก์ชันนี้

หลังจากนี้ เราจะสร้างฟังก์ชัน getter ที่เรียกว่า 'getDriverSalary' และส่งคืนเงินเดือนของคนขับ ตอนนี้ หลังจากเรียกใช้ 'main()' แล้ว เราจะสร้างอ็อบเจ็กต์ของคลาสซึ่งก็คือ 'driverObj_1' และตั้งค่าของเงินเดือนพนักงานขับรถโดยการเรียกใช้ฟังก์ชัน 'setDriverSalary()' และส่งผ่าน '30000' เป็นพารามิเตอร์ซึ่งก็คือ เงินเดือนของคนขับ จากนั้นเราพิมพ์เงินเดือนนี้โดยเรียกใช้ฟังก์ชัน 'getDriverSalary()'

รหัส 3:

#รวม

โดยใช้ เนมสเปซ มาตรฐาน -

ระดับ คนขับ -

ส่วนตัว -
ภายใน เงินเดือนคนขับ -
สาธารณะ -
เป็นโมฆะ ตั้งค่า DriverSalary - ภายใน d_s - -
เงินเดือนคนขับ - d_s -
-
ภายใน รับ DriverSalary - - -
กลับ เงินเดือนคนขับ -
-
- -
ภายใน หลัก - - -
ไดร์เวอร์ ไดร์เวอร์Obj_1 -
ไดรเวอร์Obj_1 ตั้งค่า DriverSalary - 30000 - -


ศาล - 'เงินเดือนของคนขับคือ: ' - ไดรเวอร์Obj_1 รับ DriverSalary - - -

กลับ 0 -

-

เอาท์พุท:

ที่นี่ เรากำหนดเงินเดือนของคนขับและรับเงินเดือนหลังจากตั้งค่าและแสดงบนหน้าจอเอาท์พุต

ตัวอย่างที่ 4:

คลาส 'Person' ถูกสร้างขึ้นในโค้ดนี้โดยที่เราประกาศตัวแปร 'ส่วนตัว' สามตัวชื่อ 'P_name', 'P_city' และ 'P_language' ด้วยประเภทข้อมูล 'string' หลังจากนี้ เราจะสร้างคอนสตรัคเตอร์ 'สาธารณะ' ที่นี่ เราวางฟังก์ชัน 'setPersonName()' และใส่ 'string newName' เป็นพารามิเตอร์ของฟังก์ชัน หลังจากนี้ เราจะกำหนด 'newName' นี้ให้กับตัวแปร 'P_name' จากนั้น เราสร้างฟังก์ชัน 'getPersonCity()' และส่งคืน 'P_city' ในทำนองเดียวกัน เราสร้างฟังก์ชันอื่นด้วยชื่อ 'setPersonCity()' จากนั้นเราส่ง 'string city' เป็นพารามิเตอร์

ตอนนี้ตัวแปร 'เมือง' ถูกกำหนดให้กับตัวแปร 'P_city' แล้ว ”getPersonLanguage()” เป็นฟังก์ชันถัดไปที่นี่ซึ่งส่งคืน “P_ language” ด้วย นอกจากนี้เรายังกำหนดฟังก์ชัน 'setPersonLanguage()' และส่งผ่านสตริง 'lang' เป็นพารามิเตอร์ จากนั้น “lang” จะถูกกำหนดให้กับตัวแปร “P_language” หลังจากนี้ เรามีอีก 2 ฟังก์ชัน “lives()” และ “speak()” ซึ่งเราใช้คำสั่ง “cout()”

หลังจากดำเนินการเมธอด 'main()' แล้ว ตอนนี้เราสร้างอ็อบเจ็กต์ของคลาสที่เรียกว่า 'p_obj1' ที่นี่ เราตั้งชื่อบุคคลโดยการเรียกใช้ฟังก์ชัน 'setPersonName()' และระบุชื่อของบุคคลซึ่งก็คือ 'Samuel' เป็นพารามิเตอร์ หลังจากนั้น เราตั้งค่าเมืองของบุคคลโดยการเรียกฟังก์ชัน 'setPersonCity()' และส่ง 'London' เป็นพารามิเตอร์ จากนั้น เรายังตั้งค่าภาษาของบุคคลโดยใช้ฟังก์ชัน 'setPersonLanguage()' และส่ง 'ภาษาอังกฤษ' เป็นพารามิเตอร์ ตอนนี้เราเรียกฟังก์ชัน 'lives()' และ 'speak()' แยกกันกับอ็อบเจ็กต์ของคลาส 'p_obj1'

รหัส 4:

#รวม

โดยใช้ เนมสเปซ มาตรฐาน -

ระดับ บุคคล

-

ส่วนตัว -
สตริง P_name -
สตริง P_city -
สตริง P_ภาษา -

สาธารณะ -
เป็นโมฆะ ตั้งชื่อบุคคล - สตริงชื่อใหม่ - -
P_ชื่อ - ชื่อใหม่ -
-

สตริง getPersonCity - - -
กลับ P_เมือง -
-

เป็นโมฆะ setPersonCity - เมืองสตริง - -
P_เมือง - เมือง -
-

สตริง getPersonLanguage - - -
กลับ P_ภาษา -
-

เป็นโมฆะ setPersonLanguage - สตริงภาษา - -
P_ภาษา - แค่ -
-

เป็นโมฆะ ชีวิต - -
-


ศาล - P_ชื่อ - ' อาศัยอยู่ใน ' - P_เมือง - สิ้นสุด -

-

เป็นโมฆะ พูด - -
-


ศาล - P_ชื่อ - 'พูด' - P_ภาษา - สิ้นสุด -

-

- -

ภายใน หลัก - - -

บุคคล p_obj1 -
p_obj1. ตั้งชื่อบุคคล - “ซามูเอล” - -
p_obj1. setPersonCity - 'ลอนดอน' - -
p_obj1. setPersonLanguage - 'ภาษาอังกฤษ' - -

p_obj1. ชีวิต - - -
p_obj1. พูด - - -

กลับ 0 -


-

เอาท์พุท:

ที่นี่จะแสดงค่าทั้งหมดที่เรากำหนดไว้ในโค้ดของเรา เราได้รับผลลัพธ์นี้โดยการเรียกใช้ฟังก์ชันที่เราสร้างขึ้น

บทสรุป

เราได้สำรวจ getters และ setters ในการเขียนโปรแกรม C++ ในคู่มือนี้ เราอธิบายว่าเมธอด 'getter' และ 'setter' นำเสนอนามธรรมและการห่อหุ้มการดำเนินการภายในของคลาสที่ดีกว่า นอกจากนี้ เรายังสำรวจว่าฟังก์ชันความถูกต้องของข้อมูลเพื่อปกป้องสมาชิกข้อมูลนั้นยังคงอยู่ ซึ่งช่วยให้คลาสเปลี่ยนโค้ดได้โดยไม่ส่งผลกระทบต่อโค้ดภายนอก เราทำสิ่งนี้ด้วยโค้ด C++ โดยใช้ getters และ setters เหล่านี้