תכנות מונחה-עצמים – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מ ←‏היסטוריה: הגהה, ניסוח
מ הגהה
שורה 10:
 
== רקע ==
הפרדיגמה של תכנות מונחה־עצמים צמחה מה[[תכנות פרוצדורלי|תכנות הפרוצדורלי]] והמודולרי שבוסס על שגרות ו[[פונקציה (תכנות)|פונקציות]] שפעלו על [[מבנה נתונים|מבני נתונים]] חופשיים בכל מרחב התוכנה. השיטה הפרוצדורלית יצרה קושי רב, מכיוון שכל שינוי בהגדרת [[משתנה (תכנות)|משתנים]] ב[[תוכנית מחשב|תוכנית]] חייב שינוי בפונקציות שפעלו בכל מרחב ה[[תוכנה]]. היה קשה לאתר באג בתוכנה כיוון שהמשתנה יכול היה להשתנות ממקומות רבים בתוכנה. והיה קשה למחזר קוד, בשל תלויות שלו במשתנים ופונקציות במרחב היישום כולו. ככל שהתוכנה הייתה גדולה ומורכבת הקושי הלך והתעצם, דבר שגרר אטיותאיטיות ומורכבות בפיתוח ככל שהתקדם ותחזוקה רבה, וכך, בניגוד למחירי החומרה שכל הזמן ירדו, מחירי התכנות דווקא האמירו. לפיכך היה צורך לחפש [[מתודולוגיה]] חדשה שתפשט ותקל על עבודת התכנות.
 
אחד מהכיוונים לטיפול בבעיה היה ביסוס של פיתוח התוכנה על מודולות, כעין "[[קופסה שחורה (הנדסה)|קופסאות שחורות]]" שניתן להשתמש בהן שימוש משותף ולהעתיקן ליישומים נוספים, בבחינת שימוש חוזר (Reuse) של קוד, ובכך לקצר את תהליך פיתוח התוכנה (דבר שיושם למשל בקובצי [[Dynamic-Link Library|DLL]]). בהסבר פשטני מאוד, תכנות מונחה־עצמים הוא תכנות שמבוסס על יצירת "קופסאות שחורות" בעלות חיים עצמאיים משל עצמן, שאינן תלויות בגורם חיצוני. '''כל דבר בפרדיגמה זו הוא [[אובייקט (מדעי המחשב)|אובייקט]]''' (וישנן שפות שאף משתנים פרימיטיביים הם אובייקטים). מהתפיסה הזו התפתחה מתודולוגיה המחקה את העולם הממשי שקיימים בו עצמים ותתי־עצמים, שלהם יש תכונות ופעולות משל עצמם. כך, כל תוכנה היא בעצם אוסף היררכי של אובייקטים רבים, שמקושרים אחד עם השני לכדי מערכת גדולה ומתואמת.