מאפיינים מחושבים
חלק מהיחידה תכנות מונחה עצמים במסלול ה-JavaScript של Coddy. שיעור 44 מתוך 56.
מאפיינים מחושבים הם גטרים שמחשבים ומחזירים ערך במקום רק להחזיר נתונים מאוחסנים. הם נראים כמו מאפיינים רגילים, אך מחשבים את ערכם תוך כדי עבודה.
בואו נבחן את הדוגמה. יש לנו אובייקט עם מאפיין רגיל:
const circle = {
radius: 5
};כעת נוסיף מאפיין מחושב באמצעות getter:
const circle = {
radius: 5,
get diameter() {
return this.radius * 2;
}
};כך ניגשים למאפיין המחושב:
console.log(circle.diameter); // פלט: 10אם נעדכן את הרדיוס, גם הקוטר יתעדכן אוטומטית:
circle.radius = 10;
console.log(circle.diameter); // פלט: 20מאפיינים מחושבים שימושיים כאשר הערך של מאפיין תלוי במאפיינים אחרים או דורש חישוב.
אתגר
נתונה לך מחלקת Rectangle עם מאפייני רוחב וגובה. המשימה שלך היא להוסיף מאפיינים מחושבים עבור שטח והיקף.
- מאפיין מחושב
area- מחזיר רוחב × גובה - מאפיין מחושב
perimeter- מחזיר 2 × (רוחב + גובה)
נסו בעצמכם
import { Rectangle } from './rectangle.js';
// קוד בדיקה - אין לשנות
const rect = new Rectangle(5, 10);
console.log(`Area: ${rect.area}`); // אמור להדפיס "Area: 50"
console.log(`Perimeter: ${rect.perimeter}`); // אמור להדפיס "Perimeter: 30"השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות מונחה עצמים
1אובייקטים ומילת המפתח this
סקירה מהירה: אובייקטיםהוספת מתודות לאובייקטיםהבנת מילת המפתח thisפונקציות בנאימילת המפתח newאתגר סיכום7הורשה ומילת המפתח extends
הורשההקשר "הוא-סוג-של"מילת המפתח extendsהמתודה super()הורשת מאפיינים ומתודותאתגר סיכום8ארגון קוד OOP
ארגון מחלקות במודוליםתרגלו בעצמכם: קומפיילר JavaScript אונליין