הבדל בין קונסטרוקטור להרס

תוכן עניינים:

הבדל בין קונסטרוקטור להרס
הבדל בין קונסטרוקטור להרס

וִידֵאוֹ: הבדל בין קונסטרוקטור להרס

וִידֵאוֹ: הבדל בין קונסטרוקטור להרס
וִידֵאוֹ: Difference between Constructor and Destructor in C++ in hindi | Constructor Vs Destructor 2024, יולי
Anonim

הבדל מפתח - קונסטרוקטור לעומת Destructor

רוב שפות התכנות תומכות בתכנות מונחה עצמים (OOP). זו הפרדיגמה שעוזרת ליצור מודל של תוכנה או תוכנית באמצעות אובייקטים. OOP משפר את הפרודוקטיביות ואת יכולת התחזוקה. ב-OOP הכל נחשב כאובייקט. האובייקטים נוצרים או מופעלים באמצעות מחלקות. Constructor ו-Destructor הם מונחים נפוצים בתכנות מונחה עצמים. מאמר זה דן בהבדל בין בנאי להרס. בנאי והרס הם פונקציית איברים מיוחדת בכיתה. לבנות והרס יש את אותו שם כמו המחלקה, אבל למחסל יש סימן טילדה (~).ההבדל העיקרי בין בנאי להרס הוא שבנאי משמש להקצאת זיכרון לאובייקט בעוד שההרס משמש להקצאת זיכרון של אובייקט.

מהו קונסטרוקטור?

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

דוגמה לבנאי היא כדלקמן.

מחלקה ציבורית מלבן{

int length, width;

public Rectangle(int p, int q){

length=p;

width=q;

}

public int calculateArea(){

return (אורךרוחב);

}

}

לפי קטע הקוד שלמעלה, לבנאי יש שם זהה לשם המחלקה. הקונסטרוקטור Rectangle מקבל שני פרמטרים. הם p ו-q. הערך השלם p מוקצה לאורך. הערך השלם q מוקצה לרוחב. ב-calcu alteArea, מכפלת האורך והרוחב מחושבת כדי למצוא את שטח המלבן. בתוכנית הראשית, המתכנת יכול ליצור אובייקט מסוג Rectangle ולהעביר את הארגומנטים. לְמָשָׁל Rectangle rect1=מלבן חדש(2, 3). לאחר מכן, הבנאי בעל הפרמטר נקרא ומקצה את הערכים לאורך ולרוחב.

ההבדל בין קונסטרוקטור להרס
ההבדל בין קונסטרוקטור להרס

איור 01: קונסטרוקטור ומשמיד

כאשר יש בנאי ללא פרמטרים כלשהם, זה נקרא בנאי ברירת מחדל.אם המתכנת לא מגדיר בנאי, בנאי ברירת המחדל יופעל. אם יש מחלקה בתור Student וכאשר המתכנת יוצר אובייקט מסוג Student, נקרא בנאי ברירת המחדל. לְמָשָׁל Student s1=new Student(); יכולים להיות בנאים מרובים עם פרמטרים שונים וסוגי נתונים שונים במחלקה. ניתן לקרוא לבנאי המתאים בהתאם. לכן, ניתן להעמיס בנאים.

מהו הרס?

משחית היא פונקציית חברים מיוחדת בכיתה. הוא משמש לביטול הקצאת זיכרון לאובייקט שנוצר על ידי הבנאי. המשמיד מופעל כאשר החפץ מושמד. הוא מבצע את אחסון הניקוי שאינו נדרש עוד. כמו הבנאי, גם למחסל יש את אותו שם כמו המחלקה. הוא מכיל גם סמל טילדה (~).

הרס אינו מחזיר שום ערך. בניגוד לבנאי, ההרס אינו מקבל פרמטרים כלשהם. אז, Destructor אינו תומך בעומס יתר.הכרזה על משמיד נחשבת כתרגול תכנות טוב מכיוון שהיא משחררת את שטח הזיכרון וניתן להשתמש בשטח זה לאחסון אובייקטים אחרים. התחביר של destructor דומה ל-~className() { }. לְמָשָׁל ~Retangle() { }; יכול להיות רק משמיד יחיד בכיתה.

מה הם קווי הדמיון בין קונסטרוקטור להרס?

  • גם הבנאי וגם ההרס משויכים לאובייקטים.
  • הן הבנאי והן ההרס לא מחזירים שום ערך.
  • גם הבנאי וגם ההרס נקראים אוטומטית.

מה ההבדל בין קונסטרוקטור להרס?

קונסטרוקטור נגד Destructor

בנאי הוא חבר מיוחד במחלקה המשמש להקצאת זיכרון לאובייקט. משחית הוא חבר מיוחד במחלקה המשמש להקצאת זיכרון של אובייקט.
שיטת הפנייה
בנאי מופעל כאשר האובייקט נוצר. משמיד נקרא כאשר האובייקט מושמד או נמחק.
שימוש
בנאי משמש להקצאת זיכרון לאובייקטים. משמיד משמש להקצאת זיכרון לאובייקטים.
פרמטרים
בנאי מקבל פרמטרים. הרס אינו מקבל פרמטרים.
מספר הבנאים וההורסים
יכולים להיות בנאים מרובים עם מספר שונה של פרמטרים וסוגים שונים של פרמטרים. יכול להיות משמיד יחיד בכיתה.
מהירות ביצוע
לקונסטרוקטור יש אותו שם כמו שם המחלקה. למשמיד יש אותו שם כמו שם המחלקה עם סמל טילדה (~).
עומס יתר
ניתן להעמיס בנאי. לא ניתן להעמיס על משחת יתר.

סיכום – קונסטרוקטור לעומת Destructor

OOP היא פרדיגמה נפוצה בפיתוח תוכנה. היא יכולה לפשט פרויקט מורכב. ב-OOP נעשה שימוש בקונסטרוקטור וב-Destructor. לבנות והרס יש את אותו שם כמו המחלקה, אבל למחסל יש סימן ~.ההבדל בין בנאי להרס הוא שבנאי משמש להקצאת זיכרון לאובייקט בעוד שההרס משמש להקצאת זיכרון של אובייקט.

הורד את ה-PDF של Constructor vs Destructor

ניתן להוריד את גרסת ה-PDF של מאמר זה ולהשתמש בה למטרות לא מקוונות לפי הערת ציטוט. אנא הורד את גרסת ה-PDF כאן: ההבדל בין קונסטרוקטור והרס

מוּמלָץ: