הבדל בין שיעורים ומבנים

הבדל בין שיעורים ומבנים
הבדל בין שיעורים ומבנים

וִידֵאוֹ: הבדל בין שיעורים ומבנים

וִידֵאוֹ: הבדל בין שיעורים ומבנים
וִידֵאוֹ: אורי ברויר סטנדאפיסט - סטנדאפ מיוחד וקורע מצחוק! 2024, נוֹבֶמבֶּר
Anonim

שיעורים לעומת מבנים

כמה מהמושגים העיקריים של שפות תכנות מונחה עצמים (OO) הם אנקפסולציה, ירושה ופולימורפיזם. Class ו-Structure הם שניים מבניה/כלים של OO, שעוזרים למתכנתים להשיג מושגים אלו ברוב שפות התכנות ה-OO היוצאות (Java אינה מספקת מבנים). שיעורים הם ייצוג מופשט של אובייקטים בעולם האמיתי. מבנים דומים מאוד למחלקות עם שימוש דומה, אך יש להם מעט מגבלות בהשוואה למחלקות. הן המחלקות והן המבנה משמשות לקיבוץ סוגים דומים של נתונים יחד.

מהם שיעורים?

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

מהם מבנים?

כפי שהוזכר לעיל, מבנים דומים מאוד למחלקות עם שימוש דומה, אך יש להם יכולות מעט מוגבלות ממחלקות. למעשה, שיעורים יכולים להיחשב כהרחבה למבנים. לדוגמה, מבנים זהים למחלקות ב-C++, אך יש להם חברים ציבוריים כברירת מחדל. המשתמש יכול להגדיר מבנה כדי לייצג סוג שהוא מורכב. בדומה למחלקות, מבנים מכילים איברים שיכולים להשתייך לסוגים רבים. מילת המפתח struct משמשת להגדרת מבנה ב-C ו-C++, בעוד שמילת המפתח Structure משמשת לאותו דבר בשפות תכנות NET.

מה ההבדל בין שיעורים ומבנים?

למרות, שגם המחלקות וגם המבנים הם מבנים דומים שנמצאים בשפות תכנות, יש להם הבדלים עדינים. בדרך כלל, המחלקה היא הרחבה של המבנה, ולכן למבנים יש כמה מגבלות יחסיות. לדוגמה, מבנים יכולים להיחשב זהים למחלקות ב-C++, אך חברים אינם ציבוריים כברירת מחדל במחלקות (בניגוד למבנים).זה למעשה אומר שאתה יכול להגדיר מחלקה ומבנה עם אותם מאפיינים בדיוק באמצעות משפרי הגישה המתאימים ב-C++. עם זאת ב-C, מבנים אינם יכולים להכיל פונקציות כלשהן או פעולות עומס יתר. מילות מפתח class ו-struct משמשות להגדרת מחלקה ומבנה ב-C++, בהתאמה. כשמדובר בשפות NET (C, VB. NET וכו'), מחלקה היא סוג התייחסות, בעוד שמבנה הוא סוג ערך. ובדרך כלל, מבנים משמשים לאובייקטים קטנים יותר, אבל מחלקות משמשות לאובייקטים גדולים יותר שנשמרים בזיכרון לתקופות ארוכות יותר.

מוּמלָץ: