Menu
Coddy logo textTech

מילת המפתח this

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

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

הנה דוגמה למחלקה עם מתודות שמשתמשות ב־this:

class Car {
  String color = '';
  String model = '';

  void honk() {
    print('Beep beep!');
  }

  void describe() {
    print('I am a ${this.color} ${this.model}');
  }
}

בתוך describe(), this.color ו-this.model מתייחסים למשתנים של אותו אובייקט ספציפי.

צרו אובייקט של מכונית והגדירו את המשתנים שלו:

Car myCar = Car();
myCar.color = 'Red';
myCar.model = 'Sedan';

קרא למתודות:

myCar.honk();
myCar.describe();

פלט:

Beep beep!
I am a Red Sedan

this שימושי במיוחד כאשר לפרמטר של מתודה יש אותו שם כמו למשתנה מופע:

class Car {
  String color = '';

  void setColor(String color) {
    this.color = color; // this.color = משתנה מופע, color = פרמטר
  }
}

בלי this, Dart לא היה יודע אם color מתייחס לפרמטר או למשתנה המופע. נקודה חשובה: this תמיד מתייחס לאובייקט המסוים שקורא כרגע למתודה.

challenge icon

אתגר

קל

השלימו את המחלקה Car בקובץ car.dart על ידי הוספת מתודה בשם displayInfo שמשתמשת במילת המפתח this כדי להדפיס את השנה, היצרן והדגם של המכונית בתבנית:

'This car is a [year] [make] [model]'

  • car.dart: מכיל את המחלקה Car שבה תוסיפו את המתודה displayInfo
  • driver.dart: מגדיר משתנים באובייקט מכונית וקורא ל־displayInfo() (נעול)

נסו בעצמכם

import 'car.dart';

void main() {
  Car myCar = Car();
  myCar.year = '2020';
  myCar.make = 'Toyota';
  myCar.model = 'Corolla';
  myCar.displayInfo();
}
quiz iconבחנו את עצמכם

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

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

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