الخصائص المحسوبة باستخدام get/set
أنشئ خصائص محسوبة للقراءة فقط أو للقراءة والكتابة باستخدام get/set، وطبّق الثوابت في أدوات الإسناد، واستخدم التحكم في الوصول مثل private(set).
الخصائص المحسوبة باستخدام get/set درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.
نظرة عامة
تقوم الخصائص المحسوبة باشتقاق القيم عند الوصول إليها، ويمكنها مزامنة الحالة عند التعيين. استخدمها للحفاظ على اتساق الثوابت.
خاصية محسوبة للقراءة فقط
تحذف الخاصية المحسوبة للقراءة فقط set. اجعل عمليات الاشتقاق بسيطة وسريعة.
struct Rectangle {
var width: Double
var height: Double
var area: Double { // read-only computed
width * height
}
}
let r = Rectangle(width: 3, height: 4)
print("area =", r.area) // 12get/set للقراءة والكتابة
أضف get/set لإنشاء خاصية محسوبة قابلة للقراءة والكتابة وتحافظ على اتساق القيم المرتبطة.
struct Circle {
var radius: Double // stored
var diameter: Double { // computed read–write
get { radius * 2 }
set { radius = newValue / 2 }
}
}
var c = Circle(radius: 5)
print(c.diameter) // 10
c.diameter = 14
print(c.radius) // 7التحقق في المعيّن
يمكن لعمليات التعيين التحقق من صحة الإدخال. ويمكنك استخدام الاسم الضمني newValue عند عدم تحديد اسم مخصص.
struct Percentage {
private var _raw: Int = 0 // backing store
var value: Int {
get { _raw }
set { // uses implicit newValue
_raw = min(100, max(0, newValue))
}
}
}
var p = Percentage()
p.value = 120
print(p.value) // 100
p.value = -5
print(p.value) // 0private(set)
استخدم private(set) لإتاحة قراءة قيمة مع تقييد الكتابة عليها داخل النوع نفسه.
struct ScoreBoard {
private(set) var highScore = 0 // public read, internal write
mutating func update(_ v: Int) {
if v > highScore { highScore = v }
}
}
var s = ScoreBoard()
s.update(30)
print(s.highScore)
// s.highScore = 50 // error outside the typeملاحظات ونصائح
ملاحظات:
- لا تخزّن الخصائص المحسوبة البيانات؛ بل تحسبها عند الطلب.
- لا تدعم willSet/didSet؛ ضع المنطق في set بدلًا من ذلك.
- حافظ على سرعة أدوات getter؛ فالعمليات المكلفة مكانها في الأساليب.
تعريف الخاصية المحسوبة
تحقق سريع: ما الذي يعرّف الخاصية المحسوبة؟
مراجعة
مراجعة: أنشئ خصائص محسوبة للقراءة فقط وللقراءة والكتابة، وتحقق من صحة القيم في set، واستخدم private(set) للتحكم فيمن يمكنه تعديل البيانات.
تعلم Swift مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 122
- الدروس
- 409
الأسئلة الشائعة
هل درس «الخصائص المحسوبة باستخدام get/set» مجاني؟
نعم — نص درس «الخصائص المحسوبة باستخدام get/set» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.
ماذا ستتعلم في «الخصائص المحسوبة باستخدام get/set»؟
أنشئ خصائص محسوبة للقراءة فقط أو للقراءة والكتابة باستخدام get/set، وطبّق الثوابت في أدوات الإسناد، واستخدم التحكم في الوصول مثل private(set). تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «الخصائص المحسوبة باستخدام get/set»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الخصائص والرموز الفرعية
- lazy ومراقبات الخصائص
- الخصائص المحسوبة باستخدام get/set
- الرموز الفرعية للفهرسة المخصّصة