24
C# .Net - Home Work 1 מרצה: דורון רייפמן מבוא לשפת#C ול- .Net Framework Home Work 1 - My code overview.

C# .net home work1 mycode overview

Embed Size (px)

Citation preview

C# .Net - Home Work 1

רייפמן דורון :מרצה

Net Framework. -ול C#לשפת מבוא

Home Work 1 - My code overview.

Student (1)

C#.Net, רייפמן דורון

.משתנים•

•Properties.

. לא חובה. SubjetListהסתרתי את •

Set לא הגיוני בכלל אז הורדתי אותו.

Student (2)

C#.Net, רייפמן דורון

•Constructor.

.בלי פרמטרים Constructorתמיד לממש •

.DocString -שימו לב ל•

Copy Constructor -שימו לב ל•

Student (3)

C#.Net, רייפמן דורון

•ToString.

Student (4)

C#.Net, רייפמן דורון

•Public Methods.

.פונקציה לייצור טקסט כולל כל המקצועות•

.שימו לב למימוש תנאי בדרך מקוצרת•

פונקציה להחזיר כמות מקצועות כדי לאפשר •

.עם אינדקס לופ

שהיא גם . פונקציה להוספה ומציאת מקצוע•

וגם ממומשת האינדקסרקיימת בכפילות עם

.ברשימת המקצועות

Student (5)

C#.Net, רייפמן דורון

•Interfaces.

•Compare.

•Clone

Copy -שימו לב לשימוש ב•

Constructor.

•Enumerator לאפשר לעשות

foreach על רשימת המקצועות

.למרות שהחבאתי אותה

Student (6)

C#.Net, רייפמן דורון

•Indexers.

.אינדקסריםשימו לב לשני •

.הדיקשנרישל , אחד עם מפתח טקסט•

. forעם אינדקס בשביל איטרציהאחד לאפשר •

.Countפונקציה פומבית , יש לו חבר

שהרי אם הייתי חושף . יש בזה כפילות מסוימת•

הייתי מקבל את כל . את רשימת המקצועות

לדעתי זה יותר יפה . השירותים האלה ממנה

.ככה

.הערות והסברים, שורות קוד עם התיעוד 240•

.Studentזהו סיימנו עם •

•Subject מאד דומה ולכן אין צורך להסביר אותו.

StudentList(1)

C#.Net, רייפמן דורון

•Members.

•Properties.

שימו לב שהחבאתי את רשימת המקצועות •

לא עניינו של . ממויין בדיקשנרישמוחזקת

מי שמשתמש בי איך אני מחזיק את

.הרשימה

במידה ואבחר להחזיק את הרשימה בדרך •

כל מי שמשתמש בי לא ייפגע , אחרת

.מהשינוי

StudentList(2)

C#.Net, רייפמן דורון

•Constructor.

•Constuctor בלי פרמטרים.

•CopyConstuctor . שימו לב ש

Dictionary לא מימש אתClone אבל כן

שבו אני עושה CopyConstructorאת

שימו לב שהוא לא עושה . שימוש

DeepClone אלא רקShallow

Cloneשזה מה שאנחנו רוצים.

StudentList(3)

C#.Net, רייפמן דורון

Deepאם הייתי רוצה לעשות •

Clone הייתי עושה את זה ככה:

StudentList(4)

C#.Net, רייפמן דורון

•ToString .אין באמת מה לענות חוץ משם האובייקט .

.הדיפולטיביתזו האימפלמנטציה , אגב

StudentList(5)

C#.Net, רייפמן דורון

•Add and Find האינדקסרשממומשים גם דרך

.בהמשך

•IsExist כדי לאפשר לטופס לבדוק האם הסטודנט

.Exceptionכבר קיים ולא לחטוף

•Count כדי לאפשרfor.

StudentList(6)

C#.Net, רייפמן דורון

•Indexers.

.הדיקשנריאחד לפי מפתח •

לעשות Countאחד שמאפשר ביחד עם •

for ולעבור לפי אינדקס.

StudentList(7)

C#.Net, רייפמן דורון

•Interfaces.

•Ienumerator לאפשרforeach.

•Clone שעושה שימוש באימפלמנטציה

.CopyConstructorשל ה

.הערות והסברים, שורות עם התיעוד 170•

. StudentListזהו סיימנו עם •

SubjectList מאד דומה ולכן אין צורך

.להסביר אותו

School(1)

C#.Net, רייפמן דורון

.שנשתמש בו בהמשך enumהגדרת •

•Members.

•Properties . כאן כבר לא מגנים על

הגישה לרשימות שכבר ממומשות באופן

.מבחוץ לא הגיוני setכמובן ש . מוחבא

School(2)

C#.Net, רייפמן דורון

•Constructor אין צורך בנוספים. כרגיל, בלי פרמטרים.

•ToString.

School(3)

C#.Net, רייפמן דורון

•Wrappers לשירותים שהרשימות נותנות.

.נהוג לעשות כאלה•

School(4)

C#.Net, רייפמן דורון

.Wrappersעוד כמה •

שימו לב לאלגנטיות של שיוך סטודנט •

בזכות . למקצוע ומקצוע לסטודנט

השירותים שאנחנו מקבלים

.מהאובייקטים של סטודנט ומקצוע

Addהיינו יכולים גם לקרוא ל •

.שמימשו

School(5)

C#.Net, רייפמן דורון

•Indexers.

באינדקסריםלמעשה אין צורך בכלל •

מימשתי אותם כדי להדגים . הללו

לרשימות מסוג באינדקסריםשימוש

אובייקטים שונה ובאופן מפתוח

.שונה

בהחלט מיותר ולא הגיוני לממש •

.אותם

School(6)

C#.Net, רייפמן דורון

•Indexers . עכשיו לפי אינדקס מיקום כדי

.forלאפשר

כאמור בהחלט מיותר ולא הגיוני לממש •

.אותם

הסברים , הערות, שורות עם התיעוד 207•

.ומימושים מיותרים

.Schoolזהו סיימנו עם •

Main Program(1)

C#.Net, רייפמן דורון

יצירת אובייקט בית ספר •

.שעליו נתלה הכול

יצירת הסטודנטים •

והמקצועות בכוונה בסדר לא

כדי להמחיש את . ממוין

יכולת המיון של

SortedDictionary.

הדגמת כמה מימושים •

.אלטרנטיביים

Main Program(2)

C#.Net, רייפמן דורון

שיוך התלמידים למקצועות •

מה . והמקצועות לתלמידים

.התקשיתם בכך, שבאופן מוזר

מימוש אלטרנטיבי פחות •

.אלגנטי

Main Program(3)

C#.Net, רייפמן דורון

הדפסת הסטודנטים והמקצועות •

.שלהם

הדפסת המקצועות והסטודנטים •

.שלומדים בהם

.כולל מימוש אלטרנטיבי•

כמה אלגנטי כשיש לנו אובייקטים •

.חזקים

Main Program(4)

C#.Net, רייפמן דורון

כמה משחקים עם היכולות •

המתקדמות של מבנה הנתונים

.החזק של האובייקטים שיצרנו

.הערות בגוף הקוד•

, הערות, שורות עם התיעוד 100•

.הסברים ומימושים מיותרים

מקווה שיעזור לכם . זהו סיימנו•

.להבין

כולי תקווה שמצגת זו מספקת •

.ואין צורך לעבור עליה בשיעור

בבקשה לעבור עליה ועל הקוד •

.המצורף