תוכן עניינים:
הגדרה - מה המשמעות של אטם קלאס?
כיתה אטומה, ב- C #, היא כיתה שלא יכולה לעבור בירושה על ידי אף כיתה אלא ניתנת ליישום.
הכוונה העיצובית של כיתה אטומה היא לציין שהכיתה מתמחה ואין צורך להרחיב אותה כדי לספק פונקציונליות נוספת באמצעות ירושה כדי לעקוף את התנהגותה. מחלקה אטומה משמשת לעתים קרובות כדי להכיל את ההיגיון שיש להשתמש בו ברחבי התוכנית אך ללא כל שינוי בה.
כיתה אטומה משמשת לרוב מסיבות ביטחוניות על ידי מניעה של נגזרת לא מכוונת שלפיה המחלקה הנגזרת עלולה להשחית את היישום המסופק בכיתה האטומה. מכיוון שהמחלקה האטומה לא יכולה להקים מחלקת בסיס, השיחות לשיעורים אטומים הן מעט מהירות יותר מכיוון שהם מאפשרים אופטימיזציות זמן ריצה מסוימות, כגון הזמנת פונקציות חבר וירטואליות במקרים של מחלקה אטומה לפתיחות שאינן וירטואליות. הכיתה אטומה מסייעת בגרסאות על ידי אי שבירת תאימות תוך שינוי מחלקה מסוג אטום לסגירה.
חלק משיעורי המפתח בספריית המסגרת .NET מעוצבים ככיתות אטומות, בעיקר כדי להגביל את ההרחבה של שיעורים אלה.
Techopedia מסביר את Seals Class
שלא כמו מבנה, שנאטם באופן מרומז, מחלקה אטומה מוכרזת עם מילת המפתח "אטומה" למניעת ירושה מקרית של הכיתה. חוג אטום יכול להיות שימושי רק אם יש לו שיטות עם נגישות ברמת הציבור. כיתה אטומה לא יכולה להיות כיתה מופשטת שכן הכיתה המופשטת מיועדת להיגזר על ידי כיתה אחרת המספקת יישום לשיטות ותכונות מופשטות.
לדוגמה, ניתן לתכנן מחלקה אטומה, DatabaseHelper, עם מאפיינים ושיטות שיכולים לשרת את הפונקציונליות של פעולות הקשורות למסד נתונים, כולל חיבור בסיס נתונים פתוח וסגור, אחזור עדכון נתונים וכו 'מכיוון שהוא מבצע פונקציות חיוניות שצריכות להיות לא להתמודד עם דריסת יתר בכיתות הנגזרות שלה, זה יכול להיות מעוצב ככיתה אטומה.
איטום מגביל את היתרון של ההרחבה ומונע התאמה אישית של סוגי הספרייה. מכאן שיש לאטום כיתה לאחר ששקלל בזהירות את ההשפעה של איטום אותה. רשימת הקריטריונים שיש לקחת בחשבון לצורך איטום כיתה כוללת:- הכיתה סטטית
- הכיתה מכילה חברים שעברו בירושה המייצגים מידע רגיש
- נשאלת הכיתה כדי לאחזר את תכונותיה בשיטת ההשתקפות
- הכיתה יורשת חברים וירטואליים רבים שצריך לאטום