ההבדל בין מחלקה מופשטת לבין מחלקה בטון

Anonim

תקציר בכיתה לעומת מחלקה בטון

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

-> ->

מהו מחלקה בטון?

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

-> ->

מה זה תקציר?

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

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

מה ההבדל בין Class מופשט לבין מחלקה בטון?

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