الفئات والخصائص
نمذج البيانات باستخدام الفئات
الفئات والخصائص درس مجاني في Android Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Android Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Android Academy 4 دروس في المجموع.
ما الفئة؟
الفئة هي مخطط لإنشاء الكائنات. وتجمع البيانات والسلوك المرتبطين في نوع واحد.
على سبيل المثال، يمكن لفئة Dog أن تصف اسم كل كلب وعمره والنباح الذي يصدره.
التصريح عن فئة
تصرّح عن فئة باستخدام الكلمة المفتاحية class واسم. وتُكتب أسماء الفئات باستخدام PascalCase.
الفئة الفارغة صالحة تمامًا؛ بل يمكنك حتى حذف الأقواس المعقوفة.
class Dog
fun main() {
println("Class declared")
}إنشاء كائن
الكائن (أو النسخة) هو شيء فعلي مبني من فئة. في Kotlin، تنشئه باستدعاء اسم الفئة كما لو كان دالة.
لاحظ عدم وجود الكلمة المفتاحية new.
class Dog
fun main() {
val rex = Dog()
println(rex)
}الخصائص
الخاصية هي متغير ينتمي إلى فئة. صرّح عنها داخل جسم الفئة باستخدام val أو var.
استخدم val للقيم التي لا تتغير أبدًا، وvar للقيم القابلة للتغيير.
class Dog {
var name: String = "Rex"
var age: Int = 3
}
fun main() {
val d = Dog()
println(d.name)
}الوصول إلى الخصائص
استخدم ترميز النقطة لقراءة خاصية أو تغييرها: object.property.
بما أن name من نوع var، يمكننا إسناد قيمة جديدة إليها.
class Dog {
var name: String = "Rex"
}
fun main() {
val d = Dog()
d.name = "Buddy"
println(d.name)
}خصائص val مقابل var
تكون خاصية val للقراءة فقط بعد تعيينها. وتؤدي محاولة إعادة تعيينها إلى خطأ في الترجمة.
يمكن إعادة تعيين خاصية var أي عدد من المرات.
class Circle {
val pi = 3.14
var radius = 1.0
}
fun main() {
val c = Circle()
c.radius = 5.0
println(c.radius)
}الدوال
تُسمى الدالة المُعلنة داخل فئة دالةً. ويمكن للدوال استخدام خصائص الفئة مباشرةً.
تستخدم bark هنا الخاصية name.
class Dog {
var name: String = "Rex"
fun bark() {
println(name + " says Woof!")
}
}
fun main() {
Dog().bark()
}كائنات متعددة
يمتلك كل كائن نسخته الخاصة من الخصائص. ولا يؤثر تغيير كائن واحد في كائن آخر.
يحتفظ a وb هنا باسمين منفصلين.
class Dog {
var name: String = ""
}
fun main() {
val a = Dog()
val b = Dog()
a.name = "Rex"
b.name = "Max"
println(a.name + " " + b.name)
}القيم الافتراضية للخصائص
تحتاج كل خاصية إلى قيمة. ويمكنك تعيين قيمة افتراضية مناسبة عند التصريح عنها.
وبذلك يبدأ الكائن الجديد بحالة معروفة بدلًا من أن تكون قيمته غير معرّفة.
class Counter {
var count: Int = 0
fun increment() {
count = count + 1
}
}
fun main() {
val c = Counter()
c.increment()
println(c.count)
}دمج الخصائص والدوال
تكون الفئة أكثر فائدة عندما تعمل الخصائص والدوال معًا. إذ يمكن للدالة قراءة خصائص الكائن نفسه وتحديثها.
تزيد haveBirthday هنا قيمة الخاصية age في كل مرة تُستدعى فيها.
class Dog {
var name: String = "Rex"
var age: Int = 1
fun haveBirthday() {
age = age + 1
}
}
fun main() {
val d = Dog()
d.haveBirthday()
println(d.age)
}الفئات تمثل الأشياء الحقيقية
تتيح لك الفئات تمثيل الأفكار من العالم الحقيقي في الشيفرة.
- الخصائص تصف ما يملكه الشيء.
- الدوال تصف ما يستطيع فعله.
في Android، تُبنى الشاشات والأزرار وview models جميعًا من فئات.
اختبار سريع
اختبر فهمك للفئات والخصائص.
مراجعة
تعلمت أن الفئة هي مخطط، وأن الكائن هو نسخة مُنشأة منه.
تخزن الخصائص البيانات باستخدام val أو var، وتضيف الدوال السلوك، ويتيح ترميز النقطة الوصول إليها. ستتعلم بعد ذلك إعداد الخصائص بطريقة منظمة باستخدام المُنشئات.
الأسئلة الشائعة
هل درس «الفئات والخصائص» مجاني؟
نعم — نص درس «الفئات والخصائص» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Android Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Android Academy 4 دروس في المجموع.
ماذا ستتعلم في «الفئات والخصائص»؟
نمذج البيانات باستخدام الفئات تتمرن على Android Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Android Academy؟
لا تُشترط خبرة سابقة. Android Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «الفئات والخصائص»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Android Academy هذا؟
نعم. كل درس في Android Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التصريح بالدوال
- الفئات والخصائص
- البُناة وinit
- فئات البيانات