מאפיינים מחושבים
חלק מהיחידה תכנות מונחה עצמים במסלול ה-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 עם מאפייני רוחב וגובה. המשימה שלך היא להוסיף מאפיינים מחושבים עבור השטח וההיקף.
- מאפיין מחושב
<strong>area</strong>- מחזיר רוחב × גובה - מאפיין מחושב
<strong>perimeter</strong>- מחזיר 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 אונליין