מדריך C# מונחה עצמים

פוסטים חדשים

מדריך C# – תכנות מונחה עצמים: מבוא

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

תגיות: ,

המשך

מדריך C# – תכנות מונחה עצמים: יצירת מחלקה בסיסית

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

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: שימוש ב- Properties

Property הינו מנגנון המאפשר לממש את עקרון הכימוס (encapsulation). הרעיון הוא להסתיר את המשתנים ולחשוף אותם דרך מנגנון סינון ובקרה לצורכי בדיקת תקינות המידע. בכדי להסתיר את המשתנה יש להגדיר...

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: שימוש ב- Constructors

בנאי (Constructor. נקרא גם בקיצור c’tor) הוא למעשה פונקציה לבנייה התחלתית של האובייקט. הוא מופעל אוטומטית בעת יצירת מופע מהמחלקה (אובייקט) באמצעות הפקודה new:     Person p = new Person(); המטרה...

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: אלמנטים סטטיים

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

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: קבועים ( Constants ו- Readonly)

Constants constants (קבועים) הם תאים בזיכרון אשר מכילים ערך קבוע שאינו ניתן לשינוי (בניגוד למשתנים שמטבעם כן יכולים להשתנות). קבועים ב – NET. למעשה מוגדרים אוטומטית כ- static (אין צורך...

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: הורשה – Inheritance

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

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: רב צורתיות – Polymorphism

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

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: אוספים מותאמים וסדרנים (Indexers)

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

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: ממשקים – Interfaces

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

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: הרשאות גישה

להלן טבלה המסכמת את הרשאות הגישה ב- #C:   רמת נגישות המשמעות האם חל על namespaces ? האם חל על Types ? (enum, struct, class, interface, delegate) האם חל על...

תגיות: , ,

המשך

מדריך C# – תכנות מונחה עצמים: מחלקה אבסטרקטית

מחלקה אבסטרקטית הינה מחלקה אשר מהווה בסיס למחלקות אחרות, אך אין לנו באמת צורך באובייקטים ממנה בתוכנית. בכדי ליצור מחלקה אבסטרקטית יש לכתוב abstract לפני שם ה- class לא ניתן...

תגיות: , ,

המשך

מדריך #C מתקדם – Generics

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

תגיות: ,

המשך

מדריך #C מתקדם – Generics: Constraints – התניות על פרמטרים גנריים

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

תגיות: ,

המשך

מדריך #C מתקדם – אוספים גנריים – Generic Collections

ב- Net. קיימים מספר אוספים הנמצאים ב- namespace הנקרא System.Collections. להלן דוגמא למספר אוספים נפוצים: ArrayList – מייצג אוסף דינמי של פריטים. Hashtable – מייצג אוסף של זוגות ערכים (key/value)...

תגיות: ,

המשך

מדריך #C – מתקדם: נציגים – Delegates

נציגים (delegates) ואירועים (events) הינם נושאים מאד מרכזיים בעבודה ב- NET. . הם מאפשרים למפתח לבנות רכיב בלי להגביל את מי שמשתמש בו לפעולות מסוימות. delegate הוא טיפוס המצביע על...

תגיות: ,

המשך

מדריך #C מתקדם – אירועים – Events

  event – הודעה שאובייקט שולח לאובייקטים אחרים. event הינו למעשה מקרה פרטי של delegate. הרעיון של event הינו להצביע על פונקציה והוא מספק מספר הגבלות אשר לא קיימות ב-...

תגיות: ,

המשך

מדריך #C מתקדם – Attributes – תכונות

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

תגיות: ,

המשך

מדריך #C מתקדם – Operators Overloading – העמסת אופרטורים

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

תגיות: ,

המשך

מדריך NET. – מבוא ל- ADO.NET

ActiveX Data Objects) ADO.NET) הינה ספריה של רכיבים שמטרתם לעבוד עם מידע. השימוש העיקרי של ADO.NET הוא עבודה מול Database לשליפה ועדכון של מידע. ADO.NET מחולק לשתי גישות עבודה עיקריות:...

תגיות: , , , ,

המשך