PracticU

אובייקטים ומחלקות CLASS - תכנות מונחה עצמים בשפת Dart

בלי כתוביותעם כתוביות
PracticU › קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון › אובייקטים ומחלקות CLASS - תכנות מונחה עצמים בשפת Dart
מילון מושגים:
אובייקט - יחידה בתכנות מונחה עצמים שמאגדת נתונים (תכונות) ופעולות (מתודות). נוצר בדרך כלל ממחלקה המשמשת כתבנית.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
OOP - תכנות מונחה עצמים: גישת פיתוח שמארגנת את הקוד סביב אובייקטים המאגדים נתונים ופעולות.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
בוליאני - סוג נתונים שיכול לקבל אחד משני ערכים בלבד: אמת (true) או שקר (false).
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
בנאי - מתודה מיוחדת שמופעלת אוטומטית בעת יצירת אובייקט ממחלקה, ומאתחלת את ערכיו ההתחלתיים.

אובייקטים ומחלקות CLASS - תכנות מונחה עצמים בשפת Dart
בדארט מגדירים מחלקה כמעט כמו בשפות אחרות, אבל יש כמה הבדלים חשובים בערכי ברירת המחדל ובאופן יצירת המופעים. נבנה מחלקה שמייצגת כלי רכב.
השלבים העיקריים
1. שדות: המחלקה Vehicle מכילה מספר מנועים (int), האם הכלי יכול לעוף (bool) ומודל ויצרן (String).
2. אתחול: משתנה שלא אותחל בדארט מקבל null ולא את ערך ברירת המחדל שמוכר משפות אחרות, ולכן יש לאתחל אותו בהגדרה. כשנותנים למשתנה הבוליאני ערך מפורש, ההדפסה מציגה false.
3. יצירת מופע: בדארט אפשר להשמיט את המילה new בעת יצירת מופע, וזה חוסך קוד ומשפר את הקריאות, במיוחד בפלאטר.
4. פרטיות וגטר וסטר: שם שמתחיל בקו תחתון הופך למשתנה פרטי. הגטר מחזיר את הערך, והסטר מקבל ערך חדש ומעדכן את המשתנה.
5. מתודה: printData מדפיסה את כל הנתונים של המופע בעזרת string interpolation.
6. בנאי בשם (Named Constructor): Vehicle.plane יוצר כלי רכב עם ערכים שנקבעו מראש, למשל ארבעה מנועים וכלי שיכול לעוף.
שימו לב
מודל ויצרן שלא הוגדר להם ערך נשארים null, וזו לא שגיאה אלא מצב רגיל במחלקה.
בעזרת בנאים בשם אפשר ליצור סוגים שונים של כלי רכב בצורה קריאה וברורה.
השיעור הבא בקורס: תכנות אסינכרוני ASYNC בשפת Dart

פרקי ההרצאה: אובייקטים ומחלקות CLASS - תכנות מונחה עצמים בשפת Dart

  1. 00:00

    הגדרת מחלקה ושדותיה

  2. 00:39

    יצירת מופע של מחלקה

  3. 01:36

    משתנים פרטיים וגטרים וסטרים

  4. 02:37

    סטר בצורה מקוצרת

  5. 03:13

    מתודת printData להדפסת הנתונים

  6. 04:59

    בנאים (Constructors)

  7. 05:43

    Named Constructor למחלקה

תמלול ההרצאה: אובייקטים ומחלקות CLASS - תכנות מונחה עצמים בשפת Dart

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

  1. 00:02

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

  2. 00:10

    נרשום class vehicle כאן נגדיר בפנים את השדות שלנו. אז לדוגמה יש לנו שדה שאומר מייצג את מספר המנויים. אז זה יהיה int num of engines מספר מנויים יותחל ל-1.

  3. 00:26

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

  4. 00:44

    אוקיי עכשיו ניצור מופע של אותה מחלקה. אז זה שובר car1 שווה new ויקל ונדפיס את מספר מנויים. print car1.nom of engines מעולה אחד בדיוק כמו שציפינו.

  5. 01:03

    עכשיו בואו נדפיס לדוגמה את isFlyable null וזה מביא אותנו לנקודה מאוד חשובה. משתנים שלא הוטחלו בדארט מקבלים ערך נ"ל שלא כמו בשפות אחרות שבוליאן מקבל למשל את הערך false בדפולט ואינט מקבל את הערך 0 אלא בדארט הם נ"ל ואנחנו חייבים להתחיל אותם כבר בהגדרה אחרת הם פשוט יישארו נ"ל.

  6. 01:26

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

  7. 01:43

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

  8. 01:58

    באמצעות גטרס וסטרס איך ניצור אחד? נרשום בול get isFlyable ונחזיר את המשתנה הפרטי isFlyable ועכשיו כשאנחנו פונים כאן בפרינט car1.isFlyable אנחנו אנחנו פונים למעשה לפונקציית גטר שמחזירה את הערך של המשתנה הפרטי underscore is flyable בואו נריץ אוקיי קיבלנו false מה לגבי set

  9. 02:25

    שאנחנו רוצים לערוך את המשתנה נרשום set is flyable וזאת תהיה למעשה פונקציה שמקבלת ערך שנקרא לו var ואז underscore is flyable שווה לval אבל כמו שלמדנו נוכל ליצור פונקציית חץ ולעשות את כל הסיפור הזה טיפה יותר מהיר אז is flyable יהיה פונקציית חץ שמקבלת פרמטר var ומה שהיא מבצעת זה פקודה אחת isFlyable שווה ל-val מעולה.

  10. 03:05

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

  11. 03:13

    אז נרשום printData שימו לב שלא רשמתי מה הפונקציה מחזירה כי למעשה זה void אפשר לרשום void אבל זה די מיותר אני פשוט אמחק את זה. אז printData פשוט תדפיס את כל הנתונים אז קודם כל נשים את הסטרינג שלנו במשתנה ואז נדפיס אותו אז נרשום var str שווה למשהו שתכף נערוך ובסוף print str אז למה str שווה? נרשום num of n ג'ינס

  12. 03:43

    יהיה שווה ל... וכאן נשים string interpolation של num of n ג'ינס ואז נראה את שהוא ראה באמצעות backslash ו-n ניהוליים ונרשום is pliable נקודתיים ואז עוד פעם string interpolation ונדפיס את is pliable.

  13. 04:12

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

  14. 04:24

    car1.printdata. num of engine זה 1. isflabel זה false. מעולה. בואו נמשיך. דק סלאש n לרדת שורה מודל נקודתיים string interpolation עם מודל נרד עוד שורה מניופקצ'ואר נקודתיים string interpolation עם מניופקצ'ואר נרד שוב.

  15. 04:59

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

  16. 05:18

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

  17. 05:46

    אנחנו נתחיל את המופעים כאילו הם כבר למעשה

לקורס המלא: קורס Flutter אונליין

ההרצאה הקודמת: לולאות ופונקציות בשפת Dart

ההרצאה הבאה: תכנות אסינכרוני ASYNC בשפת Dart

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

  • תכנות מונחה עצמים ב-NodeJS
  • יתרונות של תכנות מונחה עצמים
  • עקרונות תכנות מונחה עצמים - Unity OOP
  • The R Class

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

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון