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

الـ Classes مقابل الـ Objects

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

تخدم الفئات (Classes) والكائنات (objects) أغراضاً مختلفة. الفئة هي مخطط، بينما الكائن هو ما تبنيه من ذلك المخطط.

إليك مثال على فئة (class) تحتوي على متغيرات مثيل (instance variables):

class Dog {
  String name = '';
  String breed = '';
}

المتغيرات المعلن عنها داخل الفئة (مثل name و breed) تنتمي إلى كل كائن يتم إنشاؤه من تلك الفئة. سنستكشف متغيرات المثيل (instance variables) بعمق لاحقاً.

إنشاء كائنات متعددة من نفس الفئة:

Dog dog1 = Dog();
Dog dog2 = Dog();

يمكن أن يكون لكل كائن قيمه الفريدة الخاصة لتلك المتغيرات:

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

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

print('${dog1.name} is a ${dog1.breed}');
print('${dog2.name} is a ${dog2.breed}');

المخرجات:

Nicky is a Siberian Husky
Teemon is a Labrador

الفرق الرئيسي: الفئة Dog تحدد الهيكل الذي تشترك فيه جميع الكلاب، بينما dog1 و dog2 هما كائنات فردية ببياناتهما الفريدة الخاصة.

challenge icon

التحدي

سهل

أكمل الكود لإنشاء كائنين لطالبين من فئة Student وتعيين متغيراتهما.

  • student.dart: يحتوي على فئة Student (مغلق)
  • driver.dart: قم بإنشاء كائنين وتعيين بياناتهما

قم بتعيين القيم التالية:

  • student1: الاسم هو 'Alice' مع الدرجة 'A'
  • student2: الاسم هو 'Bob' مع الدرجة 'B'

ورقة مرجعية

الـ class هو مخطط يحدد بنية وسلوك الكائنات. الـ object هو نسخة (instance) يتم إنشاؤها من الـ class.

تعريف class مع متغيرات النسخة (instance variables):

class Dog {
  String name = '';
  String breed = '';
}

إنشاء objects من class:

Dog dog1 = Dog();
Dog dog2 = Dog();

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

dog1.name = 'Nicky';
dog1.breed = 'Siberian Husky';

dog2.name = 'Teemon';
dog2.breed = 'Labrador';

الوصول إلى متغيرات الكائن:

print('${dog1.name} is a ${dog1.breed}');
// المخرج: Nicky is a Siberian Husky

جرّب بنفسك

import 'student.dart';

void main() {
  // TODO: قم بإنشاء كائنين من نوع Student


  // TODO: قم بتعيين الاسم والدرجة لـ student1 (الاسم: 'Alice'، الدرجة: 'A')


  // TODO: قم بتعيين الاسم والدرجة لـ student2 (الاسم: 'Bob'، الدرجة: 'B')


  print('${student1.name} has grade ${student1.grade}');
  print('${student2.name} has grade ${student2.grade}');
}
quiz iconاختبر نفسك

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

جميع دروس Object Oriented Programming