خیلی خوب.
پس در این ویدیو به کلیدواژه Sealed نگاهی می‌کنیم.
کلیدواژه sealed به شما اجازه می‌دهد که مطمئن شوید که یک کلاس نمی‌تواند از آن ارث برداری شود.
و بنابراین در این مثال که ما کلاس شخص、کارمند、شخص و مدیر را داشتیم.
خوب.
پس برای ساده‌سازی، فقط می‌خواهم به شما نشان دهم که چگونه از آن استفاده کنید.
و سپس یک مثال واقعی خوب را به شما نشان می‌دهم که به شما در درک اینکه چرا باید از آن استفاده کنید، کمک می‌کند.
خوب.
پس شما از کلیدواژه sealed درست قبل از کلیدواژه class استفاده می‌کنید.
پس اینجا sealed را استفاده می‌کنید.
بدین ترتیب شما کلاس را از ارث بری مسدود می‌کنید.
حالا اگر به پایین بروید، می‌بینید که مدیر نمی‌تواند از کارمند ارث ببرد.
می‌گوید که مدیر نمی‌تواند از نوع sealed کارمند ارث ببرد.
پس کارمند اکنون sealed است.
بنابراین هیچ کلاس دیگری نمی‌تواند از کارمند ارث ببرد.
و واقعاً همین است.
این کاری است که کلیدواژه sealed انجام می‌دهد.
حالا چرا باید از آن استفاده کنید؟
به نظر من سوال بهتری است.
بیایید به یک مثال نگاه کنیم.
می‌خواهم کدی آماده کنم و این کار را بسیار آسان‌تر می‌کند.
خوب.
پس اکنون من یک کلاس به نام حساب دارم که یک شماره حساب、یک موجودی、یک سازنده دارد، می‌توانید واریز کنید
و می‌توانید برداشت کنید، خوب.
و سپس یک زیرکلاس به نام حساب پس‌انداز داریم.
اما این یکی sealed است.
پس در حساب پس‌انداز برخی جزئیات اضافی راجع به نحوه کار برداشت تعریف می‌کنیم.
و تقریباً همین است.
درست است؟
پس این یک کلاس sealed است.
چرا اکنون باید حساب پس‌انداز را sealed کنیم و به طور کلی چرا باید از کلیدواژه sealed استفاده کنیم؟
پس دلایلی برای استفاده از کلیدواژه sealed عبارتند از: اول، یکپارچگی طراحی.
پس sealed کردن یک کلاس اطمینان می‌دهد که طراحی آن نهایی است و نمی‌تواند از طریق وراثت تغییر کند.
این زمانی بسیار حیاتی است که می‌خواهید رفتار خاصی را تحمیل کنید و تغییراتی که ممکن است طراحی را به خطر بیندازد، را منع کنید.
یک مثال در برنامه بانکی ما، کلاس حساب پس‌انداز است که دارای قوانین خاص برداشت است
که نباید توسط هیچ کلاس مشتق دیگری تغییر یابد.
دوم، امنیت است، پس جلوگیری از وراثت بیشتر می‌تواند امنیت را با جلوگیری از رفتارهای ناخواسته
یا سوء استفاده افزایش دهد.
با sealed کردن یک کلاس، شما اطمینان می‌دهید که عملکرد حیاتی ثابت و امن باقی می‌ماند.
به عنوان مثال.
با sealed کردن کلاس حساب پس‌انداز، شما اطمینان می‌دهید که هیچ تغییر غیرمجاز یا تصادفی نمی‌تواند انجام شود
در نحوه پردازش برداشت، که امنیت عملیات حساب را حفظ می‌کند.
سپس عملکرد وجود دارد.
کلاس‌های sealed می‌توانند گاهی اوقات منجر به بهینه‌سازی‌های عملکرد شوند.
زمان اجرا می‌تواند برخی فرضیات پیرامون کلاس‌های sealed انجام دهد، مانند اینکه نیاز به بررسی مجوزها در کلاس‌های مشتق وجود ندارد، که می‌تواند منجر به اجرای سریع‌تر شود.
پس در برنامه‌های با عملکرد بالا، sealed کردن کلاس‌هایی که قرار نیست توسعه پیدا کنند، می‌تواند به بهبودهای جزئی در عملکرد منجر شود
با کاهش بار مربوط به فراخوانی‌های متد مجازی و جلوگیری از سوء استفاده‌های ممکن.
پس sealing یک کلاس از آن جلوگیری می‌کند. تا به عنوان یک کلاس پایه استفاده شود، که می‌تواند مهم باشد اگر کلاس
طراحی نشده باشد که با گسترش در نظر گرفته شود.
این از سوء استفاده‌های بالقوه یا خطاهای ناشی از گسترش نادرست کلاس جلوگیری می‌کند.
پس اگر حساب پس‌انداز، به عنوان مثال، برای گسترش با انواع حساب‌های اضافی
یا رفتارهایی طراحی نشده باشد، sealing آن اطمینان می‌دهد که توسعه‌دهندگان به اشتباه سعی در گسترش نادرست آن نداشته باشند.
پس این‌ها برخی از دلایل خوب هستند، به اعتقاد من، تا ببینیم که چرا کلیدواژه sealed می‌تواند مفید باشد.
شما ممکن است هر از چندگاه کلمه sealed را در حال توسعه عمومی ببینید.
پس این برای شما خوب است که بدانید.
خیلی خوب.
پس برای این ویدیو همین است.
در ویدیوی بعدی می‌بینمت. ```