‫ยินดีต้อนรับกลับ.
‫ในวิดีโอนี้ ฉันอยากจะพูดถึงการปรับเปลี่ยนการเข้าถึงซึ่งอนุญาตให้คุณอนุญาตและป้องกันการเข้าถึง
‫และเพื่อให้เข้าใจถึงตัวดัดแปลงการเข้าถึงที่ดีขึ้นเล็กน้อยและเหตุผลเบื้องหลัง เราจำเป็นต้องพิจารณาแนวคิดบางอย่าง
‫ก่อนอื่นเลย
‫การทำเครื่องหมายฟิลด์และเมธอดด้วยการปรับเปลี่ยนการเข้าถึงเป็นส่วนหนึ่งของการเขียนโปรแกรมเชิงวัตถุและเพิ่มความปลอดภัยให้กับโค้ดของคุณ
‫และเป็นส่วนสำคัญของการห่อหุ้ม ซึ่งเป็นส่วนหนึ่งของ OP
‫เราจะพิจารณาว่าสิ่งนี้มีความหมายอะไรอีกเล็กน้อยในการเขียนโปรแกรมเชิงวัตถุ
‫ภาษาเช่นการห่อหุ้มที่คมชัดของ C ใช้เพื่ออ้างถึงหนึ่งในสองแนวคิดที่เกี่ยวข้องกันแต่ชัดเจน
‫และบางครั้งก็รวมเข้าด้วยกัน
‫ดังนั้นกลไกทางภาษาสำหรับการจำกัดการเข้าถึงโดยตรงไปยังองค์ประกอบบางอย่างของออบเจกต์ เช่น ตัวแปรและวิธีการของพวกมัน
‫โครงสร้างภาษาที่อำนวยความสะดวกในการรวมกลุ่มข้อมูลด้วยเมธอดหรือฟังก์ชันอื่นๆ ที่ทำงานบนข้อมูลนั้น
‫ตัวอย่างเช่น เราสามารถใช้ setters และ getters เพื่อทำให้โปรแกรมทั้งหมดของเราปลอดภัยยิ่งขึ้น
‫เราจะพิจารณาเรื่องนี้มากขึ้นเมื่อเราเข้าไปในคุณสมบัติ ซึ่งจะทำให้เราสามารถทำสิ่งต่างๆ มากมายที่เราจะดูในวิดีโอนี้
‫ไม่เป็นไร.
‫อย่างแรกเลย ตัวแก้ไขการเข้าถึง ส่วนตัว ส่วนตัว สามารถเข้าถึงได้ภายในคลาสหรือโครงสร้างเท่านั้น
‫ดังนั้น หากคุณสร้างตัวแปรไพรเวตหรือเมธอดส่วนตัว ตัวแปรนั้นจะพร้อมใช้งานภายในคลาสหรือโครงสร้างเดียวกันเท่านั้น
‫ดังนั้นคุณจึงไม่สามารถใช้ที่อื่นได้
‫ลองมาดูตัวอย่างกัน ที่นี่ เรามีคลาสหนึ่งที่มี int ส่วนตัวส่วนตัว h และ private void walk ซึ่งเป็นวิธี
‫ในกรณีนี้ วิธีการนี้ไม่ได้ทำอะไรเลย แต่อาจมีโค้ดอยู่ในนั้น
‫และตอนนี้เรามีคลาสที่สอง คลาสที่สอง ซึ่งเราสร้างวัตถุของคลาสหนึ่ง ซึ่งเรียกว่าเฟิร์สคลาส
‫แล้วเราต้องการเข้าถึงขอบของวัตถุชั้นหนึ่งนั้น ซึ่งก็คือ 18
‫แต่น่าเสียดายที่เราไม่สามารถทำเช่นนั้นได้เพราะเป็นส่วนตัว
‫ดังนั้นเราจึงไม่สามารถเข้าถึงตัวแปรนี้ได้เช่นเดียวกับวิธีการเดิน
‫เราไม่สามารถเข้าถึงได้เนื่องจากตั้งค่าเป็นส่วนตัว
‫จึงไม่สามารถเข้าถึงได้จากชั้นเรียนอื่น
‫ใช้ได้เฉพาะในคลาสหนึ่งเท่านั้น
‫จากนั้นเราก็มีตัวแก้ไขการเข้าถึงแบบสาธารณะซึ่งทำให้สามารถเข้าถึงได้จากทุกที่ในโครงการของคุณ
‫ดังนั้นเมื่อคุณใช้พับลิกสำหรับตัวแปรหรือเมธอด มันสามารถใช้ได้ในทุกคลาสที่คุณมีภายในโปรเจ็กต์ทั้งหมดของคุณ
‫มันไม่ได้จำกัดเลย
‫ที่นี่.
‫ตัวอย่างอีกครั้ง public int h และ public void
‫เดินตัวแปรและเมธอดที่นี่ และในคลาสที่สอง เราพยายามเข้าถึงพวกมัน และในกรณีนี้มันใช้งานได้ดีโดยสิ้นเชิง
‫จึงสามารถเข้าถึงได้จากทุกที่
‫แน่นอนว่าเราสามารถใช้มันในชั้นเรียนที่สองได้
‫จากนั้นจะมีตัวแก้ไขการเข้าถึงที่เรียกว่ามีการป้องกัน ซึ่งช่วยให้เราสร้างบางสิ่งที่สามารถเข้าถึงได้จากคลาสและคลาสทั้งหมดที่ได้รับจากคลาสนั้น
‫นั่นเป็นเหตุผลสำคัญที่คุณจะต้องเข้าใจ OP เพื่อหรือการเขียนโปรแกรมเชิงวัตถุเพื่อที่จะใช้ประโยชน์จากสิ่งนั้นจริงๆ
‫ดังนั้นเราจึงมีการป้องกัน int h 18 และป้องกันการเดินโมฆะ
‫ดังนั้นในกรณีนี้ เรามีคลาส 2 ที่สืบทอดมาจากคลาสหนึ่ง และคุณจะเห็นว่าสามารถเข้าถึง H ได้แล้วตอนนี้ สามารถเข้าถึง
‫H ได้โดยตรง
‫เราไม่ต้องสร้างวัตถุของชั้นเรียนของเราด้วยซ้ำ
‫ซึ่งช่วยให้เราเข้าถึงตัวแปรได้โดยตรงเสมือนเป็นสาธารณะ
‫ดังนั้นปกป้องมันเหมือนสาธารณะ แต่สำหรับคลาสและคลาสเดียวกันกับที่สืบทอดจากมันเท่านั้น
‫การเดินก็เช่นเดียวกัน ดังนั้นวิธีการเดินจึงสามารถใช้ที่นี่ได้อย่างง่ายดายเช่นกันและโดยตรงเช่นกัน
‫จากนั้นเราก็มีตัวแก้ไขการเข้าถึง
‫ตัวแปรและวิธีการภายในและภายในสามารถเข้าถึงได้จากแอสเซมบลีเท่านั้น ดังนั้นจากเนมสเปซเดียวกันหรือโปรเจ็กต์เดียวกัน
‫ดังนั้นถ้าคุณมีเนมสเปซ
‫เมื่อไหร่จะมีเรียนหลายชั้น?
‫คลาสทั้งหมดสามารถเข้าถึงตัวแปรภายในและวิธีการภายใน
‫แล้วเราจะใช้ access modifiers อย่างถูกต้องได้อย่างไร?
‫ตามกฎทั่วไป เมื่อใดก็ตามที่คุณประกาศสมาชิกคลาสหรือเมธอดใหม่ เราขอแนะนำให้คุณเริ่มด้วยตัวแก้ไขการเข้าถึงที่จำกัดที่สุด
‫ซึ่งจะทำให้โปรแกรมของคุณทำงานได้ และจากนั้นคุณสามารถผ่อนคลายได้เมื่อจำเป็น
‫เพื่อให้ทุกอย่างเป็นส่วนตัวมากที่สุด
‫และเมื่อตัวแปรหรือเมธอดของคุณถูกใช้ที่อื่น แน่นอนว่าคุณต้องทำให้ง่ายขึ้นเล็กน้อย
‫ดังนั้นคุณสามารถใช้ ตัวอย่างเช่น ภายใน การป้องกัน หรือแม้แต่สาธารณะ
‫เหตุใดคุณจึงควรใช้ตัวแก้ไขการเข้าถึง
‫มันให้คุณควบคุมวิธีการและตัวแปรของคุณได้อย่างเต็มที่
‫ตัวอย่างพื้นฐานคือ H.
‫สมมติว่าคุณต้องการตั้งค่า H ได้ ดังนั้นหากคุณกำหนดให้ H เป็นสาธารณะ ทุกคนสามารถเปลี่ยนตัวแปร age และทุกคลาสสามารถเปลี่ยนเป็นตัวแปร
‫h ได้ แม้ว่าค่าจะไม่สมเหตุสมผลก็ตาม
‫ดังนั้นอาจมีคนป้อน H -20 หรือ -25 หรืออะไรทำนองนั้น
‫แต่ถ้าคุณควบคุมตัวแปรผ่านไพรเวต ดังนั้นหากคุณมีเพียง setters และ getters หรือใช้คุณสมบัติอย่างที่เราจะทำในภายหลัง
‫คุณสามารถตรวจสอบได้ว่าตัวแปร age นี้ หากตั้งค่าด้วยค่าที่ไม่เหมาะสม .
‫ตัวอย่างเช่น ค่าลบที่เพิ่งคูณด้วยลบหนึ่ง หรือถ้าเป็นค่า สมมุติว่ามากกว่า 150 หรือ
‫130 หรืออะไรประมาณนั้น คุณจะตั้งค่าบางอย่างเป็นศูนย์ หรือตั้งค่าบางอย่าง เช่น ชื่อไม่ถูกต้อง หรือคุณ
‫อาจเกิดข้อผิดพลาด คุณสามารถแสดงค่าที่ไม่ถูกต้อง
‫เข้ามา โปรดป้อนอย่างอื่น
‫หรือคุณสามารถเริ่มกิจวัตร เช่น แจ้งซอฟต์แวร์ที่ถูกต้องหรือพนักงานที่เหมาะสมที่ต้องการดูแลค่าที่ไม่ถูกต้องหรืออะไรก็ตาม
‫ดังนั้นนี่คือสิ่งที่คุณทำได้เป็นตัวอย่าง แต่มีตัวอย่างอื่นๆ มากมายที่คุณสามารถทำได้
‫และเราจะพิจารณาตัวแก้ไขการเข้าถึงเพิ่มเติมในวิดีโอหน้า
‫ดังนั้น เรามาลองดูแนวคิดเพิ่มเติมเกี่ยวกับตัวดัดแปลง X การห่อหุ้ม และอื่นๆ