ההבדל בין כיתות ומבנים

Anonim

חוגים לעומת מבנים

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

-> ->

מהן חוגים?

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

-> ->

מה הם מבנים?

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

-> ->

מה ההבדל בין חוגים ומבנים?

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