Menu
Coddy logo textTech

פונקציות בנאי

חלק מהיחידה תכנות מונחה עצמים במסלול ה-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
challenge icon

אתגר

  1. צרו פונקציית בנאי בשם 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());
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר JavaScript אונליין