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'

جرّب بنفسك

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