- תכנות מונחה עצמים
- היתרון של OOPs על פני שפת תכנות מוכוונת פרוצדורות
- ההבדל בין שפת תכנות מונחה עצמים ושפת תכנות מבוססת עצמים.
בעמוד זה נלמד על היסודות של OOPs. תכנות מונחה עצמים היא פרדיגמה המספקת מושגים רבים, כגון יְרוּשָׁה , מיזוג נתונים , רב צורתיות , וכו.
התחלה נחשבת לשפת התכנות המונחה עצמים הראשונה. פרדיגמת התכנות שבה הכל מיוצג כאובייקט ידועה כשפת תכנות מונחה עצמים באמת.
שיחת חולין נחשבת לשפת התכנות הראשונה באמת מונחה עצמים.
השפות הפופולריות מונחה עצמים הן Java , C# , PHP , פִּיתוֹן , C++ , וכו.
המטרה העיקרית של תכנות מונחה עצמים היא ליישם ישויות בעולם האמיתי, למשל, אובייקט, מחלקות, הפשטה, ירושה, פולימורפיזם וכו'.
מנוע חיפוש ודוגמאות
OOPs (מערכת תכנות מונחה עצמים)
לְהִתְנַגֵד פירושו ישות בעולם האמיתי כגון עט, כיסא, שולחן, מחשב, שעון וכו'. תכנות מונחה עצמים היא מתודולוגיה או פרדיגמה לעיצוב תוכנית באמצעות מחלקות ואובייקטים. זה מפשט את הפיתוח והתחזוקה של תוכנה על ידי מתן כמה מושגים:
מלבד מושגים אלה, ישנם כמה מונחים אחרים המשמשים בעיצוב מונחה עצמים:
- צימוד
- הִתלַכְּדוּת
- אִרגוּן
- צבירה
- הרכב
לְהִתְנַגֵד
כל ישות שיש לה מצב והתנהגות ידועה כאובייקט. לדוגמה, כיסא, עט, שולחן, מקלדת, אופניים וכו' זה יכול להיות פיזי או הגיוני.
ניתן להגדיר אובייקט כמופע של מחלקה. אובייקט מכיל כתובת ותופס מקום בזיכרון. אובייקטים יכולים לתקשר מבלי לדעת את הפרטים של הנתונים או הקוד של זה. הדבר הדרוש היחיד הוא סוג ההודעה המתקבלת וסוג התגובה המוחזרת על ידי האובייקטים.
דוגמא: כלב הוא חפץ כי יש לו מצבים כמו צבע, שם, גזע וכו' וכן התנהגויות כמו כישוף בזנב, נביחות, אכילה וכו'.
מעמד
אוסף חפצים נקרא כיתה. זו ישות הגיונית.
ניתן להגדיר מחלקה גם כשרטוט שממנו ניתן ליצור אובייקט בודד. הכיתה לא גוזלת מקום.
יְרוּשָׁה
כאשר אובייקט אחד רוכש את כל המאפיינים וההתנהגויות של אובייקט אב , זה ידוע בתור ירושה. זה מספק שימוש חוזר בקוד. הוא משמש להשגת פולימורפיזם בזמן ריצה.
רב צורתיות
אם משימה אחת מבוצעת בדרכים שונות , זה ידוע כפולימורפיזם. לדוגמא: לשכנע את הלקוח אחרת, לצייר משהו, למשל צורה, משולש, מלבן וכו'.
ב-Java, אנו משתמשים בעומס יתר של שיטות ובעקיפות שיטות כדי להשיג פולימורפיזם.
דוגמה נוספת יכולה להיות לדבר משהו; לדוגמה, חתול מדבר מיאו, כלב נובח ווף וכו'.
הַפשָׁטָה
הסתרת פרטים פנימיים והצגת פונקציונליות ידוע בשם הפשטה. למשל שיחת טלפון, אנחנו לא יודעים את העיבוד הפנימי.
ב-Java, אנו משתמשים במחלקה מופשטת ובממשק כדי להשיג הפשטה.
מחרוזת של int
כימוס
כריכת (או עטיפה) של קוד ונתונים יחד ליחידה אחת ידועים בשם אנקפסולציה . לדוגמה, קפסולה, היא עטופה בתרופות שונות.
מחלקת java היא הדוגמה של אנקפסולציה. Java Bean הוא המחלקה המובלעת במלואה מכיוון שכל חברי הנתונים פרטיים כאן.
צימוד
צימוד מתייחס לידע או מידע או תלות של מחלקה אחרת. זה מתעורר כאשר כיתות מודעים אחד לשני. אם למחלקה יש את פרטי הפרטים של מחלקה אחרת, יש צימוד חזק. ב-Java, אנו משתמשים במתאמים פרטיים, מוגנים וציבוריים כדי להציג את רמת הנראות של מחלקה, שיטה ושדה. אתה יכול להשתמש בממשקים עבור הצימוד החלש כי אין יישום קונקרטי.
הִתלַכְּדוּת
לכידות מתייחסת לרמה של רכיב המבצע משימה אחת מוגדרת היטב. משימה אחת מוגדרת היטב נעשית בשיטה מגובשת ביותר. השיטה המגובשת החלשה תפצל את המשימה לחלקים נפרדים. חבילת java.io היא חבילה מגובשת ביותר מכיוון שיש לה מחלקות וממשק הקשורים ל-I/O. עם זאת, חבילת java.util היא חבילה מגובשת חלשה מכיוון שיש לה מחלקות וממשקים לא קשורים.
אִרגוּן
האסוציאציה מייצגת את היחס בין האובייקטים. כאן, ניתן לשייך אובייקט אחד לאובייקט אחד או לאובייקטים רבים. יכולים להיות ארבעה סוגי שיוך בין האובייקטים:
- אחד לאחד
- אחד לרבים
- רבים לאחד, ו
- רבים לרבים
בואו נבין את הקשר עם דוגמאות בזמן אמת. לדוגמה, למדינה אחת יכול להיות ראש ממשלה אחד (אחד לאחד), ולראש ממשלה יכולים להיות שרים רבים (אחד לרבים). כמו כן, לחברי פרלמנט רבים יכולים להיות ראש ממשלה אחד (רבים לאחד), ולשרים רבים יכולים להיות מחלקות רבות (רבים עד רבים).
השיוך יכול להיות לא כיווני או דו כיווני.
צבירה
צבירה היא דרך להשיג אסוציאציה. צבירה מייצגת את הקשר שבו אובייקט אחד מכיל אובייקטים אחרים כחלק ממצבו. הוא מייצג את הקשר החלש בין אובייקטים. זה מכונה גם א יש מערכת יחסים בג'אווה. כאילו, ירושה מייצגת את הוא מערכת יחסים. זוהי דרך נוספת לעשות שימוש חוזר בחפצים.
הרכב
ההרכב הוא גם דרך להשיג אסוציאציה. הקומפוזיציה מייצגת את הקשר שבו אובייקט אחד מכיל אובייקטים אחרים כחלק ממצבו. יש קשר חזק בין האובייקט המכיל לבין האובייקט התלוי. זהו המצב שבו לאובייקטים המכילים אין קיום עצמאי. אם תמחק את אובייקט האב, כל האובייקטים הצאצאים יימחקו אוטומטית.
היתרון של OOPs על פני שפת תכנות מוכוונת פרוצדורות
1) OOPs מקלים על פיתוח ותחזוקה, בעוד שבשפת תכנות מונחה פרוצדורה, זה לא קל לנהל אם הקוד גדל ככל שגודל הפרויקט גדל.
2) OOPs מספק הסתרת נתונים, בעוד שבשפת תכנות מוכוונת פרוצדורה, ניתן לגשת לנתונים גלובליים מכל מקום.
איור: ייצוג נתונים בתכנות מונחה פרוצדורות
איור: ייצוג נתונים בתכנות מונחה עצמים
3) OOPs מספק את היכולת לדמות אירועים בעולם האמיתי בצורה הרבה יותר יעילה. אנו יכולים לספק פתרון לבעיית מילים אמיתיות אם אנו משתמשים בשפת התכנות מונחה עצמים.
מה ההבדל בין שפת תכנות מונחה עצמים לשפת תכנות מבוססת עצמים?
שפת תכנות מבוססת אובייקטים עוקבת אחר כל התכונות של OOPs מלבד ירושה. JavaScript ו-VBScript הם דוגמאות לשפות תכנות מבוססות אובייקטים.
האם אתה יודע?
- האם נוכל להעמיס על השיטה העיקרית?
- ג'אווה קונסטרוקטור מחזיר ערך אבל מה?
- האם נוכל ליצור תוכנית ללא שיטה ראשית?
- מהן שש הדרכים להשתמש במילת מפתח זו?
- מדוע ירושה מרובה אינה נתמכת ב-Java?
- למה להשתמש בצבירה?
- האם נוכל לעקוף את השיטה הסטטית?
- מהו סוג ההחזר הקווריאנטי?
- מהם שלושת השימושים במילת מפתח העל של Java?
- מדוע להשתמש בגוש אתחול מופעים?
- מהו השימוש במשתנה סופי ריק?
- מהו סמן או ממשק מתויג?
- מהו פולימורפיזם בזמן ריצה או שיגור שיטה דינמית?
- מה ההבדל בין כריכה סטטית לדינמית?
- כיצד ניתן להוריד את ההורדה ב-Java?
- מה המטרה של קונסטרוקטור פרטי?
- מהו שיבוט אובייקטים?
- היתרון של OOPs
- אמנת שמות
- חפץ ומחלקה
- עומס יתר בשיטה
- בַּנַאִי
- מילת מפתח סטטית
- מילת מפתח זו עם שישה שימושים
- יְרוּשָׁה
- צבירה
- עקיפת שיטה
- סוג החזר קווריאנטי
- מילת מפתח סופר
- חסימת אתחול המופעים
- מילת מפתח סופית
- שיעור מופשט
- מִמְשָׁק
- פולימורפיזם בזמן ריצה
- כריכה סטטית ודינמית
- הורדה עם מופע של מפעיל
- חֲבִילָה
- משנה גישה
- כימוס
- שיבוט אובייקטים