PracticU

מחלקות - Swift Classes

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › מחלקות - Swift Classes
מילון מושגים:
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.
ירושה - מנגנון בתכנות מונחה עצמים שבו מחלקה יורשת תכונות ופעולות ממחלקת אב, ויכולה להרחיב אותן.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
קומפיילר - תוכנה שממירה קוד מקור שנכתב בשפת תכנות לקוד שהמחשב יכול להריץ, ומדווחת על שגיאות תחביר.

מחלקות - Swift Classes
מחלקה (class) ב-Swift דומה מאוד לסטרקט בהרבה מובנים: יש לה תכונות, בנאי ופעולות. ההבדל המרכזי הוא שהמחלקה מאפשרת ירושה, ובמחלקה צריך לכתוב בנאי בעצמנו.
איך זה עובד
1. הגדרה: מחלקה מוגדרת במילה class במקום struct. בדוגמה של סטודנט, המחלקה כוללת שם פרטי, שם משפחה ומספר סטודנט מסוג מחרוזת.
2. בנאי חובה: בניגוד לסטרקט, המחלקה לא מקבלת בנאי אוטומטי. הקומפיילר דורש לכתוב init, או לתת ערך ברירת מחדל לכל תכונה.
3. בנאי: הבנאי מקבל את הערכים ושומר אותם בתכונות בעזרת self, בדומה לסטרקט.
4. יצירת מופע: אחרי שהבנאי כתוב, יוצרים מופע של המחלקה ומעבירים את הערכים כמו בסטרקט.
5. סטרקט או מחלקה: סוויפט מעודדת שימוש בסטרקטים, כי הם מקבלים בנאי בחינם, והמרצה מציין שכדאי להעדיף אותם. לירושה ולפיצ'רים מתקדמים דרושה מחלקה.
שימו לב
תכונה שאינה אופציונלית חייבת לקבל ערך. אם אין ערך התחלתי, הקומפיילר יתריע.
בסיום תדעו להגדיר מחלקה עם תכונות ובנאי, וליצור ממנה מופע.
השיעור הבא בקורס: מחלקות ירושה - Classes Inheritance

פרקי ההרצאה: מחלקות - Swift Classes

  1. 00:00

    מבוא למחלקות Classes בסוויפט

  2. 00:40

    הגדרת מחלקה Student עם class

  3. 01:16

    בחירת התכונות של הסטודנט

  4. 01:54

    בנאי חובה: הקומפיילר דורש init במחלקה

  5. 02:32

    כתיבת פונקציית init לסטודנט

  6. 03:25

    מחלקות דומות לסטראקטים בהרבה נקודות

  7. 04:02

    הסיבה לדרישת ערכים התחלתיים לכל תכונה

  8. 04:39

    יצירת מופע בעזרת הבנאי הריק

תמלול ההרצאה: מחלקות - Swift Classes

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

  1. 00:02

    שלום וברוכים הבאים בסרטונים הקודמים ראינו טייפים שונים בסוויפט ראינו אסטרקטים אינאמים וכן הלאה והיום סוף סוף אנחנו יכולים לדבר על אחד הטיפוסים השימושיים ביותר הלאו מחלקות מחלקה בהרבה מובנים דומה מאוד למה שהכרנו לגבי אסטרקטים בואו נייצר מחלקה ביחד אני מייצר לעצמי new file ובואו נייצר מחלקה

  2. 00:31

    נקרא לקלאס הראשון שלנו student אתם תראו שבסך הכל זה מאוד מאוד דומה למה שהגדרנו כסטרקטי. אני פשוט במקום לרשום את ה-Keyword Struct אנחנו נרשום Class, אוקיי?

  3. 00:46

    עכשיו לקלאס שלנו אנחנו נקרא Student שזה סטודנט אחד ואמרנו שבעצם סטודנט זה מכלול של תכונות כי זה בעצם קלאס או סטראקט דיין מכלול של תכונות אובייקט טיפוס מורכב כאן אנחנו רוצים שיהיה לנו First Name מסוג String, אוקיי? עכשיו בוא נשים פה שנייה איזשהו ערך ברירת מחדל ונדבר אוקיי אז זה די

  4. 01:11

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

  5. 01:41

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

  6. 02:03

    אבל אנחנו חייבים פה store property אמרנו תכונה שמורה אין לה value רואים אנחנו לא קיבלנו פשוט בנאי אחרת זה היה מסתדר בוא נראה מה קורה אם יהיה לי בנאי אנחנו נייצר לעצמנו פונקציית init שב-init שלנו נקבל את ה-first name מסוג string last name מסוג string וגם את ה-student id מסוג string

  7. 02:30

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

  8. 02:57

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

  9. 03:24

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

  10. 03:35

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

  11. 03:49

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

  12. 04:18

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

  13. 04:46

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

  14. 05:08

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

לקורס המלא: קורס פיתוח אפליקציות לאייפון

ההרצאה הקודמת: פעולת בנאי - init עבור structs

ההרצאה הבאה: מחלקות ירושה - Classes Inheritance

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

  • classes - חלק 1
  • מחלקות שקילות
  • יצירת מחלקות - Model Classes - לתיאור הטבלאות שבמסד הנתונים

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

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון