ארגון מחלקות במודולים
חלק מהיחידה תכנות מונחה עצמים במסלול ה-JavaScript של Coddy. שיעור 30 מתוך 56.
כשהפרויקט שלך גדל, ריכוז כל המחלקות בקובץ אחד הופך לבלגן. דמיין 10 מחלקות בקובץ אחד — קשה למצוא את הקוד ולתחזק אותו.
כבר למדנו איך לארגן קוד באמצעות מודולים — ייצוא וייבוא של פונקציות ומשתנים. עם מחלקות, ההיגיון והתחביר זהים! אפשר לייצא מחלקות מקובץ אחד ולייבא אותן לקובץ אחר, בדיוק כפי שעשינו עם פונקציות.
בואו נתרגל ארגון של מחלקות במודולים כדי לשמור על הקוד שלנו נקי וקל לניהול.
לדוגמה:

איך זה עובד:
קובץ 1: furniture-base.js (ייצוא מחלקת הבסיס)
export class Furniture {
constructor(material) {
this.material = material;
}
describe() {
return `${this.material} furniture`;
}
}קובץ 2: chair.js (ייבוא והרחבה)
import { Furniture } from './furniture-base.js';
export class Chair extends Furniture {
constructor(material, legs) {
super(material);
this.legs = legs;
}
sit() {
return "Sitting comfortably";
}
}קובץ 3: main.js (משתמשים בהכול יחד)
import { Chair } from './chair.js';
import { Table } from './table.js';
const myChair = new Chair("wood", 4);
const myTable = new Table("glass", "round");
console.log(myChair.describe()); // "wood furniture"
console.log(myTable.describe()); // "glass furniture"אתגר
יש לך מערכת לחנות מוצרי אלקטרוניקה המאורגנת במודולים. המחלקות Laptop ו-Smartphone נוצרות בקבצים נפרדים, אבל צריך להפוך אותן לזמינות בקבצים אחרים.
המשימה שלך:
- ייצא את המחלקות (השתמש בייצוא בשמות — לא בייצוא ברירת מחדל):
- ב-
laptop.js: הוסףexportכדי להפוך את המחלקהLaptopלזמינה - ב-
smartphone.js: הוסףexportכדי להפוך את המחלקהSmartphoneלזמינה
- ב-
- ייבא את המחלקות אל
main.js:- ייבא את המחלקה
Laptopמתוךlaptop.js - ייבא את המחלקה
Smartphoneמתוךsmartphone.js
- ייבא את המחלקה
נסו בעצמכם
// TODO: ייבא את המחלקה Laptop מתוך laptop.js
// TODO: ייבא את המחלקה Smartphone מתוך smartphone.js
const myLaptop = new Laptop();
const myPhone = new Smartphone();
console.log(myLaptop.type); // פלט: "laptop"
console.log(myPhone.type); // פלט: "smartphone"השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות מונחה עצמים
1אובייקטים ומילת המפתח this
סקירה מהירה: אובייקטיםהוספת מתודות לאובייקטיםהבנת מילת המפתח thisפונקציות בנאימילת המפתח newאתגר סיכום7הורשה ומילת המפתח extends
הורשההקשר "הוא-סוג-של"מילת המפתח extendsהמתודה super()הורשת מאפיינים ומתודותאתגר סיכום8ארגון קוד OOP
ארגון מחלקות במודוליםתרגלו בעצמכם: קומפיילר JavaScript אונליין