آموزش Encapsulation در C# | قسمت 29
SharpLab.studio
0:00 / 0:00
آموزش Encapsulation در C# | قسمت 29
8 просмотров · 3 нед. назад
SharpLab.studio
37 подписчиков
8 просмотров · 3 нед. назад
کپسولهسازی C#, Encapsulation در سی شارپ, پروژه حساب بانکی C#
📌 پیادهسازی عملی کپسولهسازی (Encapsulation) در سی شارپ (C#) — پروژه BankAccount | قسمت ۲۹
در این قسمت از دوره رایگان آموزش C# در SharpLab.Studio، مفهوم کپسولهسازی (Encapsulation) را در قالب یک پروژه واقعی و عملی پیادهسازی میکنیم. با ساخت یک کلاس BankAccount یاد میگیرید چطور با استفاده از private، فیلد موجودی (balance) را محافظت کرده و تغییرات آن را تنها از طریق متدهای امن واریز (Deposit) و برداشت (Withdraw) مدیریت کنید.
⏱️ تایماستامپها (فصلبندی ویدیو):
00:00 - پیشنمایش و هوک اصلی (جلوگیری از موجودی منفی)
00:31 - مقدمه و موضوع قسمت ۲۹
01:02 - مرور قسمت قبل (مبانی Encapsulation و سطوح دسترسی)
01:36 - معرفی سناریو و ساختار کلاس BankAccount
02:03 - چرا موجودی حساب نباید به طور مستقیم تغییر کند؟
03:26 - قدم اول: ساخت کلاس BankAccount و تعریف فیلد private
04:23 - قدم دوم: تعریف متد GetBalance برای خواندن امن موجودی
05:37 - قدم سوم: پیادهسازی متد واریز (Deposit) با اعتبارسنجی
07:20 - قدم چهارم: پیادهسازی متد برداشت (Withdraw) با کنترل موجودی
07:41 - مرور معماری کامل کلاس BankAccount
08:30 - ساخت Object از حساب بانکی و تست عملیات واریز و برداشت
09:30 - تست برداشت غیرمجاز (مبلغ بیش از موجودی)
10:48 - تست تلاش برای دسترسی مستقیم و بررسی خطای کامپایلر
11:47 - جمعبندی ویژگیهای پیادهسازی و مزایای کپسولهسازی
13:19 - تمرین عملی این قسمت (کلاس Product با متدهای قیمت)
14:02 - کارهای پایانی و معرفی قسمت بعدی (وراثت / Inheritance)
---------------------------------------------------
🔗 لینکهای مهم و ویدیوهای مرتبط:
📌 پلیلیست کامل دوره رایگان آموزش C# از صفر:
• آموزش C# از صفر تا پیشرفته | C# Complete C...
👈 ویدیو قبلی:
▪️ قسمت ۲۸ - Encapsulation (مفهوم و مبانی اولیه):
• آموزش Encapsulation در C# | قسمت 28
👉 ویدیو بعدی:
▪️ قسمت ۳۰ - مبانی وراثت (Inheritance) در سی شارپ:
• مبانی وراثت در C# با مثال | قسمت 30
---------------------------------------------------
📝 تمرین این قسمت:
یک کلاس به اسم Product بسازید که یک فیلد خصوصی price داشته باشد. سپس متد SetPrice (برای تنظیم قیمت غیرصفر و مثبت) و GetPrice (برای خواندن قیمت) را در آن پیادهسازی کنید. پاسخ خود را در کامنتها بنویسید!
💬 سوال این قسمت:
به نظر شما در مثال حساب بانکی، کدام بخش کپسولهسازی اهمیت بیشتری داشت؟ جلوگیری از دسترسی مستقیم به balance یا اعتبارسنجی شرطها در Deposit و Withdraw؟
🔔 فراموش نکنید برای حمایت از دوره، ویدیو را لایک کنید و کانال SharpLab را سابسکرایب کنید! ❤️