PracticU

פעולת בנאי - init עבור structs

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

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

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

  1. 00:00

    מבוא לסטראקט Contact ותכונותיו

  2. 00:51

    פונקציית init: מה היא עושה

  3. 01:32

    בנאי עם ערכי ברירת מחדל לתכונות

  4. 02:12

    בנאי שמקבל פרמטרים ומאתחל תכונות

  5. 03:16

    הבנאי האוטומטי שהקומפיילר מייצר

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

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

  1. 00:02

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

  2. 00:26

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

  3. 01:00

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

  4. 01:27

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

  5. 01:46

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

  6. 02:12

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

  7. 02:45

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

  8. 03:21

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

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

ההרצאה הקודמת: פעולות ב-structs - כולל mutating methods

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

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

  • בנאי המחלקה Constructor
  • פקודות git init & git commit
  • יצירת עמוד עבור המוצר
  • יצירת סכמה עבור Data Warehouse

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

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