למה משמש contructor

koler

New member
למה משמש contructor

לא הבנתי כל כך מה השימוש שלו ולמה לקרוא לו בכלל , עד עכשיו הייתי בונה מחלקות בלי זה בPhp .
ועכשיו בjava זה נדרש.

אשמח להסברים.
 

BravoMan

Active member
אתה מתכוון constructor או בעברית "בנאי"?

אני לא כ"כ מכיר PHP, אבל כשהיית צריך לבצע אתחול ראשוני לאיברי האובייקט החדש, איך היית עושה את זה?

ואם היית צריך לבנות אובייקט עם פרמטרים, כיצד היית מעביר אותם לאובייקט החדש?

כעיקרון, זה התפקיד של הבנאי: להכין את האובייקט הטרי לשימוש:
האופרטור new רק מקצה לו זיכרון, זה התפקיד שלך למלא אותו במידע ראשוני ולפעמים יש גם עוד פעולות שצריך לבצע לפני שניתן יהיה לקרוא לכל מיני פונקציות של האובייקט.

וכאן בדיוק נכנס לתמונה "בנאי".

כמובן, שלא תמיד חייבים אותו, וניתן להשאיר לקומפיילר לייצר לך אחד אוטומטית, אם אין שום פעולה שאתה רוצה לעשות בעת יצירת אובייקט חדש.
 

פרסאוס

New member
גם ב PHP יש בנאי.

אפילו יש לו שם מתאים: __construct
ב PHP הוא לא מקבל את שם המחלקה.
 

koler

New member
זה כל תפקידו?

לקבל ערכים ולהעביר אותם לשאר המחלקות?
 

פרסאוס

New member
מה זאת אומרת שאר המחלקות?

תפקידו של בנאי הוא בדיוק מה שכתבו לך למעלה
 
למעלה