
Cat מהסרטון הקודם הופכת לבסיס של WildCat, חתול בר.WildCat extends Cat יוצרת מחלקה יורשת. בקובץ ההרצאה צריך לטעון את Cat לפני WildCat, כי היורשת משתמשת בה.food מסוג string, בנוסף ל-name ול-age שמגיעים מ-Cat.food. כשיש בנאי במחלקה יורשת חייבים לקרוא לבנאי של מחלקת הבסיס, ואין קריאה אוטומטית. עושים זאת עם super ושולחים לו name ו-age, ואחר כך this.food = food.display באותו שם מחליפה את זו של הבסיס. כדי לשמור על ההתנהגות הקיימת קוראים ל-super.display, ואז מדפיסים גם את ה-food.new WildCat עם שם, גיל ואוכל וקוראים ל-display, והפלט כולל את נתוני החתול ואת האוכל.super או עם this. אם יש דריסה באותו שם ורוצים את גרסת הבסיס, משתמשים ב-super.הטקסט המלא של הדקות הראשונות בהרצאה «הורשה ב-TypeScript» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אנחנו מגיעים להורשה כאן אנחנו רוצים לבנות קלאס ולקבל את כל מה שבנינו בקלאס ישנה יותר וכמובן להוסיף נתונים נוספים על הקלאס החדשה שאנחנו בונים יש לנו פה כבר את הקאט מהסרטון הקודם ויש לנו פה אובייקט קאט הכל בסדר אנחנו רוצים ליצור ויילד קאט חתול בר חתול בר הוא גם חתול ולכן אנחנו יכולים לבנות קלאס ווילד קאט ו-to extends וזאת הורשה כשאני לא אשכח כבר אז באינדקס אנחנו צריכים
כבר את ווילד קאט אבל ווילד קאט צריכה להיות כמובן מעל קאט בהקשר הזה מפני שאנחנו משתמשים קאט לא הפוך סליחה קאט אמור להיות מעל ווילד קאט מפני שווילד קאט משתמש ב-cat ואנחנו רוצים להוסיף food string בנוסף לכל מה שקיבלנו מ-cat שזה סך הכל name ו-age אני רוצה להוסיף גם food אוקיי אז מה עכשיו אנחנו עושים אז אנחנו צריכים
לייצר לעצמנו קונסטרקטור public קונסטרקטור בכדי שהקונסטרקטור של ויילד קאט יקבל את כל מה שהקונסטרקטור של קאט קיבל פלוס food אז הקונסטרקטור של קאט קיבל את שני החבר'ה האלה, אני אעתיק אותם לפה, ובנוסף אני רוצה לקבל גם פוד שהוא סטרינג.
למה קיבלנו פה שגיאה? אז בי דיפולט, ברגע שיש לכם קונסטרקטור במחלקה יורשת, נגזרת, אז אנחנו חייבים לקרוא לקונסטרקטור כלשהו במחלקת הבסיס.
המערכת לא קוראת אוטומטית לקונסטרקטור הדיפולט שקיים כאן. זה בייסיקלי מה שקורה. אז אנחנו רוצים לעשות קריאה לקונסטרקטור הבסיס וזה פשוט סופר וקונסטרקטור הבסיס