
TestStuff ts = new TestStuff(); יוצר אובייקט מהמחלקה ושומר אותו במשתנה מסוג המחלקה.ts.dummyPublicInt או ts.CalculateSum(5, 5).static לא משמשת ליצירת אובייקטים. היא מכילה כלים ופונקציות עזר שלא שייכים לאובייקט מסוים.TestStatic.PI. חבר סטטי מוגדר עם public static.Mathf מכיל פונקציות מתמטיות, למשל Abs שמחזירה ערך מוחלט. Debug מכיל Log, LogWarning ו-LogError, שמופיעים בחלון ה-Console. Input עוסק בקלט מהמשתמש.Debug.Break עוצר את הריצה כדי לבדוק מה קורה.הטקסט המלא של הדקות הראשונות בהרצאה «Static Class» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הנושא שנלמד היום הוא תתי קלאסס אבל לפני זה אני רק רוצה לחדד משהו קטן אז ככה יצרנו בעצם שני קלאססים טסט סטאף וטסט אינהריטנס שיורש ממנו עכשיו זה שהוא יורש ממנו כרגע לא מעניין אותי מה שאני רוצה להראות כרגע זה איך אני יוצר אובייקט מקלאס אז אני יכול כמו שאני מגדיר int of load אני יכול להגדיר טסט סטאף ts והגדרתי בעצם את המשתנה ts שהוא מסוג טסט סטאף כמו שtmp int כאן הוא int בשביל לייצר אובייקט כזה אני צריך לעשות
new ויצרתי אובייקט ועכשיו למה עשיתי את זה בשביל להסביר שכאשר אני רוצה לגשת לmember variables או member functions של אותו אובייקט מה שאני צריך לעשות זה שם של המשתנה האובייקט ואז אם אתם יכולים אם אתם שימו לב יש לי פה את מה שהגדרתי כפאבליק למשל דמי פאבליק אינט או היה לי שם קלקולייט סאם למשל של 5 ו5 ככה אני למעשה קורא לפונקציות
או למשתנים ששייכים לאותו אובייקט. אז זה דבר אחד הנושא שנדבר עליו היום הוא סטאטי קלאסס וסטאטי קלאסס אני אייצר פה עכשיו ואנחנו לא נייצר במהלך הפרויקט שלנו כאלה אבל אנחנו נשתמש בהמון כאלה שקיימים גם בדוטנט וגם ביוניטי והיה חשוב לי שנכיר את זה מהסיבה הזאת.
אז מה זה סטטי קלאס? סטטי קלאס זה קלאס שאני לא יוצר ממנו אובייקטים. כלומר אנחנו דיברנו פעם קודמת על קלאס כתבנית של מי אני יוצר אובייקטים.
סטטי קלאס זה קלאס שאני לא יוצר ממנו אובייקטים הוא רוב הפעמים ישמש אותי לכל מיני Utilities כל מיני כלים ופונקציות שאני לא צריך שיהיו שייכות לאובייקט מסוים למשל אני לא אכנס לדוגמה כרגע כי אני רוצה קודם כל להראות איך אנחנו בעצם משתמשים בזה אז אני אייצר פה כרגע לא רגע אני אייצר פה C-Sharp Script נקרא לו
test static ובשביל להגדיר קלאס כסטטיק אני פשוט מוסיף פה את המילה סטטיק וכבר אני מקבל שגיאה מכיוון שמונוביהייבייר לא יכול להיות סטטי וגם פה אני מקבל שגיאות שאני לא אכנס אליהן.
אבל עכשיו אני יכול להגדיר לי פה סטטיק פלוט פאי שווה 3.14159 אם אני לא טועה F נקודה פסיק אוקיי הגדרתי לי פה קבוע עכשיו אנחנו מבינים גם למה אני לא צריך להגדיר אובייקט שהחזיק את הערך הזה.
אני פשוט רוצה להגדיר אותו כאן וזהו. עכשיו בתוך טסט אינהריטנס למשל אני יכול לעשות פרינט ואז טסט תעתיק וככה אני ניגש לקלאס שהוא סטטי בשם של הקלאס ולא בשם של אובייקט נקודה כמובן ששכחתי משהו מאוד קטן פאבליק נקודה ויש לי פה את פאי אז עכשיו אני שומר אני מריץ וכאן תדם תדם יש לי את הערך שאותו הגדרתי.
אז ככה אני ניגש לערך, למשתנה שהוא שייך לקלאס סטטי. אותו דבר אם הייתי מגדיר שם פונקציה, באותו אופן אני יכול לגשת גם לפונקציה.
אני צריך להגדיר אותה כפאבליק סטטיק ואז את הערך שהיא מחזירה, את השם שלה וכן הלאה. עכשיו אני אתן עוד כמה דוגמאות למה שקיים לי בדוטנט וביוניטי. למשל, יש לי את mathf נקודה, זה השם של הקלאס, אתם רואים לקחתי מפה את הרעיון לפאי, אז כמו שאנחנו רואים הם קצת דייקו יותר ממני בערך,
יש לי פה המון פונקציות מתמטיות שאני יכול להשתמש בהן, למשל אבס שהוא בעצם מחזיר לי את הערך המוחלט של משתנה פלואוט או ערך פלואוט שאני אתן לו. אז ערך מוחלט למשל 5.5f אני אוסיף פה מינוס בשביל שהוא ישנה לי אותו, בואו נגדיר משתנה שיקבל אותו, פלואוט, אבס ואליו שווה ופרינט אבס ואליו אוקיי אני מריץ עכשיו ומה שאני מקבל פה זה 5.5 באופן
לא מפתיע קיבלתי את הערך המוחלט של מה ששלחתי פה פונקציה אבס וככה ככה עשיתי שימוש בקלאס הסטטי שנקרא mathf יש לי עוד כמה קלאסים סטטיים שמאוד יעניינו אותי אני אתן דוגמה נוספת שהיא כבר תכניס אותנו קצת יותר לעולם של יוניטי וזה יש לי את הקלאס דיבאג שיש לו לוג ומה