Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

متغيرات الـ Instance

جزء من قسم Object Oriented Programming في رحلة Dart على Coddy — الدرس 7 من 110.

متغيرات النسخة (Instance variables) هي متغيرات يتم التصريح عنها داخل الفئة (class). يحصل كل كائن (object) يتم إنشاؤه من الفئة على نسخته الخاصة من هذه المتغيرات، بشكل مستقل عن جميع الكائنات الأخرى.

قم بالتصريح عن متغيرات النسخة (instance variables) مع تحديد النوع وقيمة افتراضية اختيارية:

class Student {
  String school = 'Dart Academy'; // لها قيمة افتراضية
  String name = '';               // قيمة افتراضية فارغة
  int age = 0;                    // قيمة افتراضية صفرية
}

تبدأ المتغيرات ذات القيم الافتراضية بنفس القيمة لكل كائن جديد. تبدأ متغيرات مثل name و age فارغة أو بصفر حتى تقوم بتعيينها.

استخدم دالة مع this لتعيين بيانات الكائن الفردية:

class Student {
  String school = 'Dart Academy';
  String name = '';
  int age = 0;

  void setInfo(String name, int age) {
    this.name = name; // this.name = متغير النسخة
    this.age = age;   // this.age  = متغير النسخة
  }
}

قم بإنشاء الطلاب وتعيين بياناتهم:

Student student1 = Student();
Student student2 = Student();

student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);

قم بالوصول إلى متغيرات المثيل باستخدام عامل النقطة:

print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');

المخرجات:

Alice is 20 at Dart Academy
Bob is 22 at Dart Academy

لاحظ أن school هو نفسه لكلا الكائنين لأنه يمتلك قيمة افتراضية، بينما name و age فريدان لكل كائن لأنه تم تعيينهما بشكل فردي من خلال setInfo.

challenge icon

التحدي

سهل

أكمل فئة Student في student.dart:

  1. قم بتعريف متغير مثيل String school بقيمة افتراضية 'Dart Academy'
  2. قم بتعريف متغير مثيل String name بقيمة افتراضية ''
  3. قم بتعريف متغير مثيل int age بقيمة افتراضية 0
  4. أضف دالة setInfo تأخذ String name و int age كمعاملات وتقوم بتعيينهما للكائن باستخدام this

سيقوم ملف driver.dart باختبار فئتك عن طريق إنشاء طالبين وطباعة معلوماتهما (مغلق).

ورقة مرجعية

متغيرات المثيل (Instance variables) هي متغيرات يتم التصريح عنها داخل الفئة (class). يحصل كل كائن (object) على نسخته الخاصة من هذه المتغيرات.

قم بالتصريح عن متغيرات المثيل بنوع وقيمة افتراضية اختيارية:

class Student {
  String school = 'Dart Academy'; // لها قيمة افتراضية
  String name = '';               // قيمة افتراضية فارغة
  int age = 0;                    // قيمة افتراضية صفرية
}

استخدم دالة (method) مع الكلمة المفتاحية this لتعيين بيانات الكائن الفردية:

class Student {
  String school = 'Dart Academy';
  String name = '';
  int age = 0;

  void setInfo(String name, int age) {
    this.name = name; // this.name = متغير مثيل
    this.age = age;   // this.age  = متغير مثيل
  }
}

قم بإنشاء كائنات وتعيين بياناتها:

Student student1 = Student();
Student student2 = Student();

student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);

الوصول إلى متغيرات المثيل باستخدام عامل النقطة (dot operator):

print('${student1.name} is ${student1.age} at ${student1.school}');
// المخرجات: Alice is 20 at Dart Academy

جرّب بنفسك

import 'student.dart';

void main() {
  Student student1 = Student();
  Student student2 = Student();

  student1.setInfo('Alice', 20);
  student2.setInfo('Bob', 22);

  print('${student1.name} is ${student1.age} at ${student1.school}');
  print('${student2.name} is ${student2.age} at ${student2.school}');
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming