אימות מחבר הספר
חלק מהיחידה תכנות מונחה עצמים במסלול ה-JavaScript של Coddy. שיעור 52 מתוך 56.
אתגר
שפרו את הבנאי של המחלקה Book על ידי הוספת אימות. כרגע, Book מקבלת כל ערך עבור הפרמטר author, אבל היא אמורה לקבל רק מופע של Author.
המשימה שלכם:
- הוסיפו בדיקת if-else לבנאי של Book
- אם המחבר תקין (מופע של המחלקה Author) באמצעות
author instanceof Author, הגדירוthis.#author = author - אחרת (המחבר אינו תקין): הציגו ביומן בדיוק את
“Invalid author: must be Author instance”. הגדירוthis.#author = null
כך, הספר עדיין אמור להיווצר גם כאשר המחבר אינו תקין.
נסו בעצמכם
import { Author } from './Author.js';
import { Book } from './Book.js';
// בדיקות
const rowling = new Author('J.K. Rowling');
// מקרה תקין (אמור לעבוד ללא הודעות)
const validBook = new Book('Harry Potter', rowling);
console.log('Author:', validBook.authorInfo); // אמור להציג: "Author: J.K. Rowling"
// מקרים לא תקינים (אמורים לרשום הודעה ביומן, אך עדיין ליצור ספר)
const invalid1 = new Book('Fake Book', 'String Author');כל השיעורים ביחידה תכנות מונחה עצמים
1אובייקטים ומילת המפתח this
סקירה מהירה: אובייקטיםהוספת מתודות לאובייקטיםהבנת מילת המפתח thisפונקציות בנאימילת המפתח newאתגר סיכום7הורשה ומילת המפתח extends
הורשההקשר "הוא-סוג-של"מילת המפתח extendsהמתודה super()הורשת מאפיינים ומתודותאתגר סיכום8ארגון קוד OOP
ארגון מחלקות במודוליםתרגלו בעצמכם: קומפיילר JavaScript אונליין