PracticU

יצירת טיפוסים חדשים

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מונחה עצמים - OOP - Object Oriented Programming - חומר לימוד של מדעי המחשב › יצירת טיפוסים חדשים
מילון מושגים:
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
סוג נתונים - הגדרה של סוג הערך שמשתנה או עמודה יכולים להחזיק, למשל מספר שלם, טקסט או תאריך.
זיכרון - רכיב מהיר ונדיף שבו המחשב שומר נתונים ותוכניות בזמן ריצתם. תוכנו נמחק עם כיבוי המחשב.
.NET - פלטפורמת פיתוח של מיקרוסופט להרצת יישומים בשפות כמו C#, הכוללת ספריות וסביבת ריצה משותפות.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.

יצירת טיפוסים חדשים
השיעור חוזר על המילים השמורות שיוצרות טיפוסי נתונים חדשים, ומסביר את הקשר בין טיפוס, משתנה ומידע.
הקשר בין טיפוס למשתנה
1. טיפוס נתונים: מגדיר מה אפשר לשמור בתוכו, ומקצה לו את הזיכרון המתאים.
2. משתנה: נוצר מהטיפוס ומחזיק מידע. בשורה int num = 8, int הוא הטיפוס, num הוא המשתנה ו-8 הוא המידע.
3. int הוא struct: מאחורי int עומד הטיפוס Int32 שב-.NET הוא struct. שפות שונות בדוטנט כותבות אותו בשם אחר, אבל הטיפוס האמיתי זהה.
4. טיפוס מורכב: טיפוס יכול להכיל שדות, וכל שדה יכול להיות טיפוס פרימיטיבי או טיפוס מורכב אחר. למשל Person שמכיל Address.
חמש המילים שיוצרות טיפוס
1. class: הישות המרכזית של התכנות מונחה העצמים. ניתן לרשת ממנה ולהגדיר בה מתודות.
2. struct: ישות עזר קטנה, כמו זמן, נקודה או קואורדינטה.
3. enum: רשימה של קבועים, כמו צבעים או ימות השבוע.
4. interface ו-delegate: שתי המילים שיילמדו בהמשך הקורס.
שימו לב
string מוגדר ב-.NET כ-class, ו-double כ-struct. לכן גם טיפוסים מוכרים נוצרים מאחת המילים השמורות האלה.
השיעור הבא בקורס: הבדל בין Reference לבין Value

פרקי ההרצאה: יצירת טיפוסים חדשים

  1. 00:00

    מבט על struct class ו-enum

  2. 01:18

    מה יוצר את הטיפוס int

  3. 03:14

    struct יוצר טיפוס נתונים

  4. 05:38

    מי יוצר int string ו-double

  5. 06:58

    בניית טיפוס נתונים משלנו

  6. 09:02

    טיפוס פרימיטיבי מול מורכב

  7. 10:44

    טיפוס נתונים עם struct

תמלול ההרצאה: יצירת טיפוסים חדשים

הטקסט המלא של הדקות הראשונות בהרצאה «יצירת טיפוסים חדשים» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:01

    בסרטון הזה אנחנו הולכים לעצור ולהסתכל על דברים שלמדנו מנקודת מבט נוספת. אנחנו הולכים בעצם להסתכל על המילה Struct והמילה Class והמילה Enum ולראות מה באמת המשמעות שלהם.

  2. 00:21

    אבל מה שאני רוצה לעשות קודם כל, אני רוצה לפתוח איזשהו משתנה, Int, לקרוא לו Num ולהכניס לתוכו את המספר 8. ועכשיו אני רוצה להסתכל רגע על מה בעצם יש לנו בתוכנית הזאת.

  3. 00:39

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

  4. 00:59

    נתחיל מ-8. 8 זה המידע שבסופו של דבר ברצוננו לאכלס איפשהו. המידע הזה היה צריך להיכנס לתוך איזשהו תא זיכרון.

  5. 01:10

    תא הזיכרון זה ה-num. היה אמור להיווצר מאיזשהו טיפוס נתונים שזה האינט אבל השאלה היא מה יצר את האינט אם אנחנו עכשיו לוחצים על F12 אנחנו מגיעים בדיוק להגדרה של אינט עכשיו אנחנו רואים שבעצם ההגדרה היא לא אינט אלא אינט 32 בדוט נט אינט 32 זה basically integer אינט למעשה זה כינוי לאינט 32 אינט 32 זה

  6. 01:44

    הטיפוס האמיתי שקיים במערכת הסיבה לזה היא בגלל שבדוטנט יש כל מיני שפות ובכל שפה ההגדרה של אינטג'ר היא קצת אחרת ולכן מאחורי הקלעים חייב לשבת אותו הטיפוס נתונים בדיוק וזה יהיה int32 כל שפה בדוטנט מגדירה את int32 בצורה אחרת לדוגמה c-sharp כותבת int visual basic.net כותבת אינטג'ר אבל מאחורי הקלעים כולם זה int32

  7. 02:14

    אז זאת הסיבה שאנחנו רואים את השוני בשם אבל מבחינתנו זה אינטג'ר אם אנחנו מסתכלים על מה יצר את האינטג'ר אנחנו רואים שזאת המילה struct זאת אומרת שיש לנו פה ארבעה מרכיבים יש לנו את המילה struct במקרה הזה שיוצרת טיפוס נתונים חדש struct זה בכחול כי זאת מילה שמורה של c-sharp

  8. 02:41

    וכל טיפוס נתונים שקיים הוא בטורקיז אינטג'ר הזה זה גם טיפוס נתונים אבל הוא נחשב גם כן מילה שמורה של c-sharp יחד עם הקבוצה של הטיפוסים הפרימיטיביים ככה זה נקרא טיפוס פרימיטיבי וטיפוס שהוא חלק מהשפה ולכן הוא בכחול כמו המילים השמורות אבל בסופו של דבר זה טיפוס נתונים ואנחנו רואים אותו כאן בטורקיז כמו שאנחנו רואים את

  9. 03:08

    זה בטורקיז וכמו שאנחנו רואים את זה בטורקיז וכל אלה הם טיפוסי נתונים כולל הפרסון שיצרנו וכל הטיפוסי הנתונים הנוספים שיצרנו.

  10. 03:19

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

  11. 03:33

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

  12. 03:45

    לאחר מכן טיפוס הנתונים הוא בכיר יותר למשתנה כי הוא זה שבורא את המשתנה או יוצר את המשתנה. לאחר מכן המשתנה בכיר יותר למידע כי הוא זה שמאכלס את המידע.

  13. 03:58

    למרות שהמידע הוא לא פחות חשוב כי בסופו של דבר זה מה שאנחנו רוצים לאכלס בזיכרון. אז בעצם יש לנו פה את ארבעת המרכיבים האלה, יש לנו את ה-struct שזה ה-data type, יש לנו את ה... או יותר נכון מילה שיוצרת את ה-data type.

  14. 04:24

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

  15. 05:03

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

  16. 05:16

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

  17. 05:32

    כל החומר הזה אנחנו כבר מכירים ממודול האלגוריתמיקה והגדרת משתנים. למה אני מזכיר את זה כאן? שימו לב שמי שיצר את אינטג'ר זה סטראקט ועל זה אנחנו דיברנו במודול הזה ומי שיצר את סטרינג בואו ניגש אליה עם F12 זה קלאס ומי שיצר את דאבל F12 זה גם כן סטראקט וזה אומר שכל פעם שאתם עכשיו משתמשים במילה

  18. 06:13

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

  19. 06:42

    מגדירים את הזיכרון ולאחר מכן אתם יכולים להכניס בתוכם מידע אז אם אנחנו ניכנס בדיוק לקונספט הזה ונלך כרגע ונבנה בעצמנו איזשהו טיפוס נתונים שהוא שלנו בוא נניח עם המילה קלאס נתחיל עם קלאס ואנחנו מקודם בנינו כל מיני קלאסים אז בואו נבנה עכשיו עוד פעם את פרסון ונגדיר דבר כזה לפרסון כל מה שאני רוצה שיהיה לו זה first name ו-last name אני אעשה

  20. 07:22

    אותו הכי simple שניתן עושים אותו פה side by side וכעת מה יש לנו פה שוב פעם אנחנו רואים פה את המילה קלאס אנחנו רואים שהיא יצרה טיפוס נתונים חדש ושימו לב שהטיפוס נתונים הוא בטורקיז אוקיי יש לנו פה את person זה הדאטה טייפ שלנו מה אנחנו יכולים לעשות עם person ליצור ממנו משתנה נקרא לזה מי פרסון מה אנחנו יכולים לעשות עם המשתנה להכניס לתוכו מידע אם אנחנו מבצעים את האנלוגיה הזאת

  21. 08:24

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

  22. 08:55

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

  23. 09:12

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

  24. 09:38

    לדוגמה, יכולה להיות לנו איפשהו קלאס אדרס, כמובן במציאות בקובץ נפרד, ויכול להיות לנו פה public string city, public string street, house number וזיפ קוד, ובתוך person יכול להיות לנו address.

  25. 10:19

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

  26. 10:35

    משתנה מורכב עם מספר שדות מורכבים ובתוכו אנחנו מכניסים מידע. זה בדיוק אותו הדבר כמו השורה הזאת. מה בקשר ל-struct? אז גם struct מאפשרת לנו להגדיר טיפוס נתונים משלנו.

  27. 10:49

    בואו נפתח כביכול class, נקרא לה point ונשנה את המילה class ל-struct. נגדיר x ו-y, את זה נסגור, נשים את הפוינט עכשיו side by side ונבנה אובייקט מהסטראקט.

  28. 11:32

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

לקורס המלא: קורס תכנות מונחה עצמים OOP

ההרצאה הקודמת: מבנה - struct

ההרצאה הבאה: הבדל בין Reference לבין Value

הרצאות קשורות מקורסים אחרים

  • יצירת דפים חדשים - ב-Sharepoint

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת C# .NET - קורס תכנות למתחילים - דוט-נט / סי-שארפ - חומר לימוד של מדעי המחשב