מהו שינוי השינוי ב-C#

Mhw Synwy Hsynwy B C



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

מהו שינוי השינוי?

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

כיצד להשתמש בשינוי העקוף?

כדי להשתמש בשינוי שינוי, עלינו לבצע את השלבים הבאים:







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

כדי לעזור לך להבין את זה יותר לעומק, הנה דוגמה.



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



באמצעות System ;

רכב מחלקה
{
וירטואלי ציבורי בָּטֵל הַתחָלָה ( )
{
לְנַחֵם. WriteLine ( 'הרכב התניע'. ) ;
}
}

מכונית כיתה : רכב
{
עקיפה ציבורית בָּטֵל הַתחָלָה ( )
{
לְנַחֵם. WriteLine ( 'מכונית התניעה.' ) ;
}
}

תוכנית הכיתה
{
סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args )
{
רכב רכב = רכב חדש ( ) ;
רכב. הַתחָלָה ( ) ; // פלט: הרכב התניע.

מכונית מכונית = מכונית חדשה ( ) ;
אוטו. הַתחָלָה ( ) ; // פלט: מכונית התניעה.
}
}

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





ב-Main, יצרתי מופעים גם של מחלקות הרכב וגם של מכונית וקראתי עליהם את שיטת ההתחלה. כאשר אני קורא לשיטת התחל על אובייקט הרכב, הוא מדפיס את 'הרכב התחיל' לקונסולה. כאשר אני קורא לשיטת התחל על אובייקט המכונית, הוא מדפיס 'Car started' לקונסולה. זה מדגים שעקפנו בהצלחה את שיטת התחל במחלקה הנגזרת:



סיכום

ה-override modifier ב-C# הוא כלי רב עוצמה המאפשר לנו לשנות את ההתנהגות של חבר שעבר בירושה. הוא משמש כדי לספק יישום משלנו עבור שיטה או מאפיין שכבר מוגדרים במחלקה או בממשק הבסיס. דנו כיצד להשתמש בשינוי העקוף ב-C# והדגמנו את השימוש בו באמצעות דוגמה פשוטה. על ידי שימוש בשינוי השינוי, נוכל ליצור מחלקות מיוחדות יותר שיורשות ממעמד בסיס אך ​​מספקות התנהגות ייחודית משלהן.