פונקציות בנאי
חלק מהיחידה תכנות מונחה עצמים במסלול ה-JavaScript של Coddy. שיעור 4 מתוך 56.
פונקציות בנאי הן פונקציות מיוחדות ב-JavaScript שמאפשרות לך ליצור מספר אובייקטים בעלי אותו מבנה והתנהגות.
הגדירו פונקציית בנאי עבור Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}צרו אובייקט חדש מסוג Person באמצעות הבנאי:
const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);לאחר הרצת הקוד שלמעלה, john הוא אובייקט עם מאפיינים:
// האובייקט john מכיל:
{
name: "John",
age: 30,
greet: function() { return "Hello, my name is John"; }
}גישה למאפיינים וקריאה למתודות:
console.log(john.name); // פלט: John
console.log(john.greet()); // פלט: Hello, my name is Johnאתגר
- צרו פונקציית בנאי בשם
Bookשמקבלת שלושה ארגומנטים:
title(מחרוזת)author(מחרוזת)pages(מספר)
הפונקציה צריכה להגדיר את אלה כמאפיינים של האובייקט שנוצר.
2. הוסיפו מתודה בשם getSummary שמחזירה מחרוזת עם מידע על הספר: this.title + " was written by " + this.author + " and has " + this.pages + " pages";
נסו בעצמכם
// TODO: צרו פונקציית בנאי בשם Book שמקבלת שלושה ארגומנטים (title, author, pages)
// TODO: הגדירו את אלה כמאפיינים של האובייקט שנוצר
// TODO: הוסיפו מתודה בשם getSummary שמחזירה מחרוזת עם מידע על הספר.
// לדוגמה: Harry Potter was written by Rowling and has 500 pages
// אל תשנו את הקוד שלהלן
const inputTitle = inp[0]; // שורה ראשונה: שם הספר
const inputAuthor = inp[1]; // שורה שנייה: המחבר
const inputPages = parseInt(inp[2]);// שורה שלישית: מספר העמודים
const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות מונחה עצמים
1אובייקטים ומילת המפתח this
סקירה מהירה: אובייקטיםהוספת מתודות לאובייקטיםהבנת מילת המפתח thisפונקציות בנאימילת המפתח newאתגר סיכום7הורשה ומילת המפתח extends
הורשההקשר "הוא-סוג-של"מילת המפתח extendsהמתודה super()הורשת מאפיינים ומתודותאתגר סיכום8ארגון קוד OOP
ארגון מחלקות במודוליםתרגלו בעצמכם: קומפיילר JavaScript אונליין