0Pricing
Swift Academy · บทเรียน

การควบคุมการเข้าถึง

การควบคุมการเข้าถึง

การควบคุมการเข้าถึง เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 1 บทเรียน

บทนำ

สวัสดีค่ะ

การควบคุมการเข้าถึงจะจำกัดการเข้าถึงโค้ดบางส่วนของคุณจากโค้ดในไฟล์ซอร์สโค้ดหรือโมดูลอื่น

โมดูล: โมดูลคือหน่วยแจกจ่ายโค้ดของเฟรมเวิร์กหรือแอปพลิเคชัน

โมดูลประกอบด้วยไฟล์ซอร์สโค้ดหลายไฟล์

ไฟล์ซอร์สโค้ด:

ไฟล์ซอร์สโค้ดคือไฟล์ซอร์สโค้ดไฟล์เดียวภายในโมดูล

ระดับการเข้าถึง

หาก AL (ระดับการเข้าถึง) ของชนิดข้อมูลถูกกำหนดเป็นส่วนตัว AL ของรายการทั้งหมดที่เป็นของชนิดข้อมูลนั้นจะเป็นส่วนตัวด้วย

ต่อเนื่อง

ตัวระบุ access แบบส่วนตัวที่วางไว้หน้า variable เมธอด และอื่น ๆ จะทำให้ใช้งานได้อย่างสมบูรณ์ภายในขอบเขต

จุดประสงค์ของตัวระบุการเข้าถึงระดับไฟล์คือการอนุญาตให้คลาสหรือส่วนขยายอื่นที่กำหนดไว้ในไฟล์เดียวกันเข้าถึงได้ นอกเหนือจากขอบเขตที่กำหนด variable ไว้

โดยเฉพาะเมื่อกำหนดส่วนขยายไว้ในไฟล์ซอร์สโค้ดเดียวกัน จะไม่สามารถเข้าถึงออบเจ็กต์ที่กำหนดเป็นส่วนตัวได้ ดังนั้นการใช้ตัวระบุการเข้าถึงระดับไฟล์จึงเป็นทางเลือกที่ดี

สาธารณะ

ตัวกำหนดระดับการเข้าถึงแบบสาธารณะสามารถเข้าถึงได้ทั่วทั้งโมดูล แต่เมื่อใช้สองโมดูล อาจมีข้อจำกัดกับคลาสย่อยและขอบเขตต่าง ๆ

และคุณอาจไม่สามารถเข้าถึงตัวแปรและเมธอดที่กำหนดด้วยตัวกำหนดระดับการเข้าถึงแบบสาธารณะได้

เปิด

คลาสที่กำหนดระดับการเข้าถึงแบบสาธารณะไม่สามารถเป็นคลาสย่อย (คลาสแม่) ในโมดูลอื่นได้ กล่าวคือไม่สามารถขยายคลาสได้ และไม่อนุญาตให้แทนที่เมธอดที่อยู่ภายใน

ดังนั้นเราจึงต้องใช้ตัวระบุการเข้าถึงที่ยืดหยุ่นกว่าระดับสาธารณะ

กล่าวโดยสรุปได้ว่า ตัวจำกัดการเข้าถึงแบบเปิดนั้น “เปิดกว้างกว่าสาธารณะ”

ต่อเนื่อง

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

ในทำนองเดียวกัน เพียงกำหนดเมธอดที่ต้องการแทนที่ด้วยตัวระบุการเข้าถึงแบบเปิดก็เพียงพอ

ภายใน

สำหรับชนิดข้อมูลอื่นที่ไม่ใช่ชนิดแจกแจง หากกำหนดชนิดข้อมูลเป็นสาธารณะ รายการต่าง ๆ จะเป็นระดับภายในโดยอัตโนมัติ อย่างไรก็ตาม หากกำหนดชนิดแจกแจงเป็นสาธารณะ องค์ประกอบของชนิดแจกแจงนั้นจะเป็นสาธารณะ

public enum Direction { case North, South, East, West } 
//each case is also has public access level.

การสร้างคลาสย่อย

การสร้างคลาสย่อย

เราสามารถสร้างคลาสย่อยของคลาสใดก็ได้ เพียงคลาสนั้นสามารถเข้าถึงได้จากบริบทที่เกี่ยวข้อง

คลาสย่อยไม่สามารถมีระดับการเข้าถึงสูงกว่าคลาสแม่ได้ เพราะคลาสแม่ครอบคลุมคลาสย่อย

เมธอดที่เขียนทับอาจเข้าถึงได้มากกว่าเมธอดเดิมในคลาสแม่

public class ClassA {

//method private tanimlanmis
private func aPrivateMethod() {}

internal func anInternalMethod() {}

}

internal class ClassB: ClassA {

// The overridden method is defined internally. Access level has increased even more.
override internal func anInternalMethod() {}

}

ต่อเนื่อง

ระดับการเข้าถึงของค่าคงที่ ตัวแปร คุณสมบัติ และซับสคริปต์

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

ตัวรับค่าและตัวกำหนดค่าสำหรับค่าคงที่ ตัวแปร คุณสมบัติ และซับสคริปต์ก็มีระดับการเข้าถึงเดียวกับชนิดข้อมูลที่เป็นเจ้าของ เช่นเดียวกับค่าคงที่หรือตัวแปร

ขอแสดงความยินดี

ขอแสดงความยินดี 🎉

ในบทเรียนนี้ เราได้เรียนรู้เกี่ยวกับการควบคุมการเข้าถึงใน Swift

ขณะนี้เราเรียนจบหลักสูตร Swift สำหรับผู้เริ่มต้นแล้ว

มาเริ่มทำข้อสอบและรับใบประกาศนียบัตรกันเถอะ 🌟

การควบคุมการเข้าถึง — ภาพประกอบ 10

คำถามที่พบบ่อย

บทเรียน “การควบคุมการเข้าถึง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การควบคุมการเข้าถึง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 1 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การควบคุมการเข้าถึง”

การควบคุมการเข้าถึง คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 1 บทเรียน

บทเรียน “การควบคุมการเข้าถึง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

← กลับไปที่ Swift Academy