ההבדל בין מבנה למעמד

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 1 אַפּרִיל 2021
תאריך עדכון: 4 מאי 2024
Anonim
סרטון 8 הכנסייה הקתולית
וִידֵאוֹ: סרטון 8 הכנסייה הקתולית

תוֹכֶן


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

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. קווי דמיון
  5. סיכום

טבלת השוואה

בסיס להשוואהמבנהמעמד
בסיסי אם לא הוכרז על מפרט הגישה, כברירת מחדל כל החברים הם ציבוריים.אם לא הוכרז על מפרט הגישה, כברירת מחדל כל החברים הם פרטיים.
הצהרה struct struct_name {
סוג struct_element 1;
סוג struct_element 2;
סוג struct_element 3;
.
.
.
};
class class_name {
חבר נתונים;
פונקציית חבר;
};
למשל מופע של מבנה נקרא משתנה מבנה.מופע של כיתה נקרא אובייקט.


הגדרת מבנה

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

struct sname {type struct_element1; הקלד struct_element2; סוג struct_element3; . . . } משתנה 1, משתנה 2,. . .;

מילת המפתח 'מבנה' מגדירה למהדר שמוכרז על מבנה. ה"שמה "מייצג את השם שניתן למבנה. הצהרת המבנה מסתיימת תמיד על ידי פסיק, מכיוון שהיא נחשבת כהצהרה. אתה יכול להכריז על מופעי המבנה לפני סיומו כמתבצע בקוד לעיל (משתנה 1, משתנה 2) או שאתה יכול להכריז על מופע המבנה הראשי (), על ידי כתיבת שם המופע שקדם לשם המבנה.

// דוגמא. הראשי () {סנאם S1, S2; }

כאן S1 ו- S2 הם המקרים של המבנה. המופעים של המבנה נקראים "משתנה מבנה". ניתן לגשת אל האלמנט המוצהר בתוך גוף המבנה דרך משתני המבנה באמצעות מפעיל נקודה (.).

// דוגמה S1. struct_element1;

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

// מדגם sarray struct sname;

מעל הצהרה נוצר מערך עם השם 'sarray' המכיל עשרה משתנים, וכל משתנה מסודר כהגדרתו ב- 'sname'.


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

// דוגמת struct struct * S1;

פתק:

האלמנטים 'מבנה' מאוחסנים במיקום זיכרון רציף.

הגדרת הכיתה

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

class class_name {חברים פרטיים של נתונים ופונקציות חברים. access_specifier סוג נתונים_חבר; הקלד mem_funct (רשימת פרמטרים) {. . }} רשימת אובייקטים;

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

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

//object.mem_funct (טיעונים);

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

קווי דמיון:

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

סיכום:

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