Menu
Coddy logo textTech

מחלקות לעומת אובייקטים

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Dart של Coddy. שיעור 4 מתוך 110.

מחלקות ואובייקטים משמשים למטרות שונות. מחלקה היא תבנית, ואילו אובייקט הוא מה שבונים על סמך התבנית הזאת.

הנה דוגמה למחלקה עם משתני מופע:

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

המשתנים שמוצהרים בתוך מחלקה (כמו name ו-breed) שייכים לכל אובייקט שנוצר מאותה מחלקה. נעמיק במשתני מופע בהמשך.

יצירת כמה אובייקטים מאותה מחלקה:

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בחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Dart אונליין