Menu
Coddy logo textTech

משתני מופע

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

משתני מופע הם משתנים שמוצהרים בתוך מחלקה. כל אובייקט שנוצר מהמחלקה מקבל עותק משלו של המשתנים האלה, שאינו תלוי באובייקטים אחרים.

הצהירו על משתני מופע עם טיפוס וערך ברירת מחדל אופציונלי:

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 יבדוק את המחלקה שלכם על ידי יצירת שני תלמידים והדפסת המידע שלהם (נעול).

נסו בעצמכם

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

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

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

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