תגיות
מדריך 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# – תכנות מונחה עצמים: מחלקה אבסטרקטית
מחלקה אבסטרקטית הינה מחלקה אשר מהווה בסיס למחלקות אחרות, אך אין לנו באמת צורך באובייקטים ממנה בתוכנית. בכדי ליצור מחלקה אבסטרקטית יש לכתוב abstract לפני שם ה- class לא ניתן...
המשךמדריך C# – תכנות מונחה עצמים: הרשאות גישה
להלן טבלה המסכמת את הרשאות הגישה ב- #C: רמת נגישות המשמעות האם חל על namespaces ? האם חל על Types ? (enum, struct, class, interface, delegate) האם חל על...
המשךמדריך C# – תכנות מונחה עצמים: ממשקים – Interfaces
interface (ממשק) הינו מבנה לוגי מופשט (אבסטרקטי) המכיל רק הצהרות. אחד מתפקידי ה- interface העיקריים הוא ליצור ממשק זהה לאובייקטים שונים (אפילו בהיררכיות שונות) ובכך הוא אחד היישומים של עיקרון...
המשךמדריך C# – תכנות מונחה עצמים: אוספים מותאמים וסדרנים (Indexers)
לעיתים נרצה לבנות Collection (אוסף) משלנו אשר יכיל בתוכו אובייקטים מסוג שאנו נבנה ויספק לנו את הפונקציונאליות הקשורה לאובייקטים שלנו. ישנם הרבה דרכים ליצור Custom collection, החלק מלבנות מאפס ועד...
המשךמדריך #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 מחולק לשתי גישות עבודה עיקריות:...
המשך