מדריך התוכנה של רונן

תיכנות, תוכנה,

מדעי המחשב

מבוא לתכנות מונחה עצמים:

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

קרא עוד

מודל 3 השכבות

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

קרא עוד

בנאי Constructors

אופן הפעולה של הבנאים – Constructors Chaining כל מחלקה חייבת שיהיה לה בנאי. אם לא ניצור אחד כזה, המערכת תבנה בעצמה בנאי דיפולטיבי לא מאותחל במשתני המחלקה. תפקידו של הבנאי הוא ליצור את האובייקט מהמחלקה, כלומר – להקצות עבורו מקום בזיכרון. הקריאה לבנאי מתבצעת בעזרת המילה השמורה new. אם נפנה לבנאי ללא new לדוגמא: Sudent […]

קרא עוד

this

ראינו כי ניתן להגדיר מספר בנאים למחלקה בעזרת העמסה (Overloading) ניתן לקרוא מבנאי אחד לבנאי אחר בעזרת המילה השמורה: this ניתן להשתמש ב – this על מנת להבדיל בין שדה לבין פרמטר או משתנה לוקאלי בעלי אותו שם . לדוגמה:

קרא עוד

הורשה

כל טיפוס יכול להיות מוגדר כיורש מטיפוס אחר. בתוכנות מסוימות כמו למשל Java ההורשה יכולה להתבצע רק מטיפוס אחד, לא קיימת הורשה מרובה. משמעות ההורשה:לטיפוס היורש יש את כל התכונות והפעולות המוגדרות בטיפוס המוריש לו ובנוסף להם הדברים המוגדרים בו. ניתן למשל להגדיר בעל חיים כטיפוס עם התכונות והפעולות המתאימות לו.נגדיר בנוסף טיפוס של יונק […]

קרא עוד

מהו תכנות מונחה עצמים ומהם תכונותיו

על כל אחד מתכונות התכנות מונחה העצמים נדון כאן בפרק נפרד, כולל דוגמאות קוד והסבר כיצד הדברים עובדים בצד השרת, הזיכרון, הרשת וכו', להלן קצת היסטוריה כיצד התפתחה האבולוציה של התיכנות ומהם העקרונות של תכנות מונחה עצמים. תכנות מונחה-עצמים או לעתים תכנות מוכוון-עצמים (באנגלית: Object-Oriented Programming, או בקיצור OOP) היא פרדיגמת תכנות המשתמשת ב"עצמים" (אובייקטים) […]

קרא עוד

בקרת גישה לתוכנית

שורת הקוד הראשונה בכל מחלקה נקראת הכרזה על המחלקה (class declaration). רוב השפות המודרניות, מאפשרת לנו להגן על המידע שלנו ע"י הגבלת הגישה למשתנה או לפונקציה שישנה במחלקה שלנו, ע"י שימוש באחת מהמילים השמורות, לפני הגדרתם בפונקציה. גם מהכרזה בודדת זו ניתן ללמוד דברים מסויימים על המחלקה, שאינם מוצגים במפורש ועוד לפני שהבטנו במבנה המחלקה. […]

קרא עוד

מהי מחלקה (class)?

בעולם האמיתי ישנם לרוב אובייקטים רבים מאותו הסוג. בעולם ה – OOP נאמר שהאופניים שלך הם ישות (instance) של מחלקת (class) אובייקטים הידועה כאופניים. לאופניים כמחלקה יש גורמי מצב  הילוך, מהירות ..( והתנהגות) שינוי הילוך, האצה.. משותפים. בבניית האופניים משתמשים בעובדה שלכל האופניים תכונות משותפות ובונים יחידות רבות מאותה תבנית (blueprint). אפשר להשתמש בעובדה שאובייקטים רבים […]

קרא עוד

מחלקה אבסטרקטית – abstract

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

קרא עוד

ממשק – Interface

ממשק הינו למעשה מחלקה אבסטרקטית לכל דבר המכילה מתודות ומאפיינים אבסטרקטים בלבד. אין צורך ברישום המילה Abstract , מתודה או מאפיין המוגדר ב Interface הינו אבסטרקטי ממשק הוא מחלקה מופשטת/אבסטרקטית שכל המתודות שלה מוגדרות כמופשטות. היא מוגדרת על ידי המילה השמורה Interface במקום class מתודה או מאפיין המוגדר ב Interface הינו אבסטרקטי מאופן היותו Interface. […]

קרא עוד

Previous Posts