✅ الگوی طراحی Abstract Factory ✅
همانطور که در الگوی Factory دیدیم، مجموعهای از کلاسها با یک کلاس پدر داشتیم، Method Factory توسط کاربر استفاده میشد و نمونهای از کلاس پدر را دریافت میکرد اما دقیقا نمیدانست چه کلاسهایی در سلسله مراتب کلاسها موجود هستند و معیار انتخاب زیرکلاسها در Factory Method تعیین میشد.
الگوی Abstract Factory مفهوم Factory Method را دارد اما در یک سطح بالاتر به اینصورت که خانوادهای از اشیا به هم وابسته یا مرتبط به هم را ایجاد میکند، پس در این حالت کلاسهای به هم وابستهای داریم که تشکیل یک خانواده را میدهند. در روش Method Factory تمامی اشیا توسط یک متد ایجاد می شدند، اما در روش Abstract Factory هر کلاس یک سازنده جداگانه خواهد داشت و البته همه ی این سازنده ها در کلاس اصلی قرار می گیرند. در Abstract Factory ما یک Interface اصلی خواهیم داشت که مجموعه ای از Object های وابسته را تعریف می کند. در Abstract Factory ما وظیفه ی تولید هر شی را به Factory مربوطه اش واگذار می کنیم، اینجاست که اگر بعد از مدتی از ما خواسته شود که برنامه را بسط بدهیم تنها با ایجاد یک Factory مشکل را می توانیم حل می کنیم.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
همانطور که در الگوی Factory دیدیم، مجموعهای از کلاسها با یک کلاس پدر داشتیم، Method Factory توسط کاربر استفاده میشد و نمونهای از کلاس پدر را دریافت میکرد اما دقیقا نمیدانست چه کلاسهایی در سلسله مراتب کلاسها موجود هستند و معیار انتخاب زیرکلاسها در Factory Method تعیین میشد.
الگوی Abstract Factory مفهوم Factory Method را دارد اما در یک سطح بالاتر به اینصورت که خانوادهای از اشیا به هم وابسته یا مرتبط به هم را ایجاد میکند، پس در این حالت کلاسهای به هم وابستهای داریم که تشکیل یک خانواده را میدهند. در روش Method Factory تمامی اشیا توسط یک متد ایجاد می شدند، اما در روش Abstract Factory هر کلاس یک سازنده جداگانه خواهد داشت و البته همه ی این سازنده ها در کلاس اصلی قرار می گیرند. در Abstract Factory ما یک Interface اصلی خواهیم داشت که مجموعه ای از Object های وابسته را تعریف می کند. در Abstract Factory ما وظیفه ی تولید هر شی را به Factory مربوطه اش واگذار می کنیم، اینجاست که اگر بعد از مدتی از ما خواسته شود که برنامه را بسط بدهیم تنها با ایجاد یک Factory مشکل را می توانیم حل می کنیم.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🆔 @HeiltonProgramming
✅ مثال الگوی طراحی Abstract Factory ✅
فرض کنید میخواهید با پایگاه داده ارتباط برقرار کنید. با در نظر گرفتن اینکه در حال استفاده از چند پایگاه داده مختلف هستیم، برای اینکه اتصال با هر پایگاه داده برقرار شود بایستی از کلاس همان پایگاه داده استفاده کرد و یکی از متدهای آن را فراخوانی کرد تا ارتباط برقرار گردد. زمانی که از این الگو استفاده میکنید، شما مستقیماً با کلاسهای پایگاه داده سروکار ندارید، بلکه یک کلاس به عنوان Factory واسط بین شما و کلاسهای پایگاه داده است. حال اگر بخواهید به پایگاه داده متصل شوید، درخواست خود را به Factory ارسال میکنید تا کلاس پایگاه داده مورد نظر را برای شما ایجاد نماید. بنابراین وابستگی به کلاسهای پایگاه داده کمتر شده و مدیریت ساختن این کلاسها در Factory مجتمع میشود. در حالت عادی ایجاد کلاسها در بخشهای مختلف و در کلاسهای مختلف ممکن است انجام شود و مدیریت و تغییر نحوه ایجاد کلاسها در آینده با مشکل مواجه میشود. این الگو برای حل این مشکلات بهوجود آمده است و شامل مجموعهای از Factoryهای به هم مرتبط میباشد.
👌👌صنعت خودروسازی
صنعت خودروسازی را در نظر بگیرید که در آن خودروها را در دو دستهی دیزلی و سواری تولید میکنند و دو کارخانهی تولید خودرو که در صنعت خودرو سازی فعالیت دارند. به عنوان مثال، ایران خودرو و سایپا که هر کدام خودروهای خود را تولید میکنند. ولی هر خودرویی که تولید میکنند یا دیزلی است یا سواری. شرکت ایران خودرو، خودروی آرنا را بعنوان دیزلی تولید میکند و پژو 206 را بعنوان سواری. همچنین شرکت سایپا خودروی فوتون را بعنوان خودروی دیزلی تولید میکند و خودروی پراید را بعنوان خودروی سواری. خودروهای تولیدی همانطور که گفته شد یا دیزلی هستند یا سواری که هر کدام از این خودروها ویژگیهای خاص خود را دارند. در بین این خودروها، خودروی پژو 206 و پراید یک خودروی سواری هستند و خودروی فوتون و آرنا، خودروهای دیزلی.
الگوی طراحی Abstract Factory شبیه به نمایشگاه خوردو میباشد که هر دو گروه نوع خودرو از هر دو شرکت سازنده را برای فروش دارد و به درخواست مشتری خودروی مورد نظر را ارائه میکند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
✅ مثال الگوی طراحی Abstract Factory ✅
فرض کنید میخواهید با پایگاه داده ارتباط برقرار کنید. با در نظر گرفتن اینکه در حال استفاده از چند پایگاه داده مختلف هستیم، برای اینکه اتصال با هر پایگاه داده برقرار شود بایستی از کلاس همان پایگاه داده استفاده کرد و یکی از متدهای آن را فراخوانی کرد تا ارتباط برقرار گردد. زمانی که از این الگو استفاده میکنید، شما مستقیماً با کلاسهای پایگاه داده سروکار ندارید، بلکه یک کلاس به عنوان Factory واسط بین شما و کلاسهای پایگاه داده است. حال اگر بخواهید به پایگاه داده متصل شوید، درخواست خود را به Factory ارسال میکنید تا کلاس پایگاه داده مورد نظر را برای شما ایجاد نماید. بنابراین وابستگی به کلاسهای پایگاه داده کمتر شده و مدیریت ساختن این کلاسها در Factory مجتمع میشود. در حالت عادی ایجاد کلاسها در بخشهای مختلف و در کلاسهای مختلف ممکن است انجام شود و مدیریت و تغییر نحوه ایجاد کلاسها در آینده با مشکل مواجه میشود. این الگو برای حل این مشکلات بهوجود آمده است و شامل مجموعهای از Factoryهای به هم مرتبط میباشد.
👌👌صنعت خودروسازی
صنعت خودروسازی را در نظر بگیرید که در آن خودروها را در دو دستهی دیزلی و سواری تولید میکنند و دو کارخانهی تولید خودرو که در صنعت خودرو سازی فعالیت دارند. به عنوان مثال، ایران خودرو و سایپا که هر کدام خودروهای خود را تولید میکنند. ولی هر خودرویی که تولید میکنند یا دیزلی است یا سواری. شرکت ایران خودرو، خودروی آرنا را بعنوان دیزلی تولید میکند و پژو 206 را بعنوان سواری. همچنین شرکت سایپا خودروی فوتون را بعنوان خودروی دیزلی تولید میکند و خودروی پراید را بعنوان خودروی سواری. خودروهای تولیدی همانطور که گفته شد یا دیزلی هستند یا سواری که هر کدام از این خودروها ویژگیهای خاص خود را دارند. در بین این خودروها، خودروی پژو 206 و پراید یک خودروی سواری هستند و خودروی فوتون و آرنا، خودروهای دیزلی.
الگوی طراحی Abstract Factory شبیه به نمایشگاه خوردو میباشد که هر دو گروه نوع خودرو از هر دو شرکت سازنده را برای فروش دارد و به درخواست مشتری خودروی مورد نظر را ارائه میکند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🆔 @HeiltonProgramming
👌👌👌مصاحبه جالب با استیو جابز برا استخدام
استیو جابز برای انجام مصاحبه حضوری شغلی که صدها متقاضی داشت به شرکتی رفت. مدیر شرکت، به جای آن که سین جیم کند، یک ورقه کاغذ گذاشت جلوی استیو و از او خواست برای استخدام، تنها به یک سوال پاسخ بدهد.
سوال این بود:شما در یک شب بسیار سرد و توفانی، در جاده ای خلوت رانندگی می کنید، ناگهان متوجه می شوید که سه نفر در ایستگاه اتوبوس، به انتظار رسیدن اتوبوس، این پا و آن پا می کنند و در آن باد، باران و توفان چشم به راه کمک هستند.
یکی از آن ها پیر زن بیماری است که اگر هر چه زودتر کمکی به او نشود ممکن است همان جا در ایستگاه اتوبوس غزل خداحافظی را بخواند.
دومین نفر، صمیمی ترین و قدیمی ترین دوست شماست که حتی یک بار شما را از مرگ نجات داده است و نفر سوم، همسر آینده شماست که حالا با او در دوران نامزدی به سر می برید؛ اما خودروی شما فقط یک جای خالی دارد، شما از میان این 3 نفر کدام یک را سوار می کنید؟ پیرزن بیمار؟ دوست قدیمی؟ یا نامزدتان را؟
جوابی که استیو نوشت باعث شد از میان صدها متقاضی، به استخدام شرکت در آید. پاسخ این بود:من سوئیچ ماشینم را می دهم به آن دوست قدیمی ام تا پیر زن بیمار را به بیمارستان برساند، و با نامزدم در ایستگاه اتوبوس می مانم تا شاید اتوبوس از راه برسد.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
👌👌👌مصاحبه جالب با استیو جابز برا استخدام
استیو جابز برای انجام مصاحبه حضوری شغلی که صدها متقاضی داشت به شرکتی رفت. مدیر شرکت، به جای آن که سین جیم کند، یک ورقه کاغذ گذاشت جلوی استیو و از او خواست برای استخدام، تنها به یک سوال پاسخ بدهد.
سوال این بود:شما در یک شب بسیار سرد و توفانی، در جاده ای خلوت رانندگی می کنید، ناگهان متوجه می شوید که سه نفر در ایستگاه اتوبوس، به انتظار رسیدن اتوبوس، این پا و آن پا می کنند و در آن باد، باران و توفان چشم به راه کمک هستند.
یکی از آن ها پیر زن بیماری است که اگر هر چه زودتر کمکی به او نشود ممکن است همان جا در ایستگاه اتوبوس غزل خداحافظی را بخواند.
دومین نفر، صمیمی ترین و قدیمی ترین دوست شماست که حتی یک بار شما را از مرگ نجات داده است و نفر سوم، همسر آینده شماست که حالا با او در دوران نامزدی به سر می برید؛ اما خودروی شما فقط یک جای خالی دارد، شما از میان این 3 نفر کدام یک را سوار می کنید؟ پیرزن بیمار؟ دوست قدیمی؟ یا نامزدتان را؟
جوابی که استیو نوشت باعث شد از میان صدها متقاضی، به استخدام شرکت در آید. پاسخ این بود:من سوئیچ ماشینم را می دهم به آن دوست قدیمی ام تا پیر زن بیمار را به بیمارستان برساند، و با نامزدم در ایستگاه اتوبوس می مانم تا شاید اتوبوس از راه برسد.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
(Heilton.com)Boot Strap3.zip
(Heilton.com)Boot Strap4_project.zip
118.1 MB
فیلم آموزش بوت استرپ Bootstrap به زبان فارسی (رایگان) قسمت چهارم (پروژه)
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
لینک دانلود https://goo.gl/2HdqMu
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
🚨🚨خبرفوری بالاخره #تماس_صوتی تلگرام برای ایران فعال شد آموزش روش فعال کردن + دانلود آخرین نسخه تلگرام 👇🏻 🍃💐🍃🌸🍃🌸🍃 گروه برنامه نویسی هیلتن😎👇 🆔 @HeiltonProgramming 🍃💐🍃🌸🍃🌸🍃
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش تماس از داخل خود پیوی شخص مورد نظر
تذکر : تلگرام هر دو طرف باید آپدیت باشد
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
تذکر : تلگرام هر دو طرف باید آپدیت باشد
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
برنامه نویسی هیلتن
آموزش تماس از داخل خود پیوی شخص مورد نظر تذکر : تلگرام هر دو طرف باید آپدیت باشد 🍃💐🍃🌸🍃🌸🍃 گروه برنامه نویسی هیلتن😎👇 🆔 @HeiltonProgramming 🍃💐🍃🌸🍃🌸🍃
تماس با تلگرام و امنیت ان
🔹بعد از برقراری مکالمه سه آیکون به صفحهی تماس اضافه خواهد شد. توسط آیکون اول میتوانید صدای میکروفون را قطع کنید. توسط آیکون دوم میتوانید صدای شخص مقابل را به بلندگوی گوشی انتقال دهید و توسط آیکون سوم نیز میتوانید در حین گفتگوی صوتی، به صفحهی چت بازگردید.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🔹میزان مصرف حجم اینترنت
کیفیت تماس صوتی و حجم مصرفی اینترنت برای تماس در هر دقیقه، به کانکشن اینترنت شما بستگی خواهد داشت.
برای مثال اگر میانگین حجم مصرفی در هر دقیقه را ۳۶۰ کیلوبایت و قیمت متوسط یک بستهی ۳ گیگابایتی اینترنت را ۱۵ هزار تومان در نظر بگیریم، با فرض آنکه مصرف دیگری جز تماس نداشته باشید میتوانید به طور تقریبی ۱۴۰ ساعت مکالمه صوتی انجام دهید.
اگر احساس میکنید مصرف دیتای تماسها زیاد است، میتوانید با مراجعه به تنظیمات تلگرام و بخش Data and Storage Settings، گزینهی Use Less Data را فعال کنید تا با کاهش نامحسوس کیفیت صدای شما در تماس، حجم مصرفی نیز کاهش یابد. با روشن کردن این ویژگی میزان دیتای مصرفی برای تماس از ۲۰۰ کیلوبایت به ۱۶۰ کیلوبایت کاهش خواهد یافت.
🔹حریم شخصی
هر کاربر میتواند در صورت تمایل قابلیت دریافت تماس را به صورت کلی (Nobody) قطع یا فقط به مخاطبان خود (My Contacs) محدود کند. در صورت مسدود کردن تماس، کاربران مسدود شده هنگام تماس با شما پیغام Doesn't Accept Call را دریافت خواهند کرد.
🔹🔐امنیت تماس
رمزنگاری محبوب و ایمن End-to-End که پیش از این در سکرت چتهای تلگرام به کار رفته بود در تماس های صوتی نیز برای امن کردن مکالمات استفاده میشود؛ به طوری که حتی سازندگان برنامه نیز قادر به شنود صحبتهای شما نخواهند بود.
🔹تلگرام برای آنکه شما را از برقرار بودن امنیت مکالمه مطمئن کند شیوهی جالبی در پیش گرفته است. این اپلیکیشن کدهای پیچیده و رمزنگاری شده را در قالب ۴ اموجی ♥️🙈🍬🚚 به کاربر نشان میدهد تا درک و بررسی آن برای کاربران ساده و سریع باشد. در صورتی که این ۴ اموجی در گوشی مبدأ و مقصد یکسان باشند امنیت مکالمه برقرار است و میتوانید با خیالی آسوده تماس خود را ادامه دهید.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🔹بعد از برقراری مکالمه سه آیکون به صفحهی تماس اضافه خواهد شد. توسط آیکون اول میتوانید صدای میکروفون را قطع کنید. توسط آیکون دوم میتوانید صدای شخص مقابل را به بلندگوی گوشی انتقال دهید و توسط آیکون سوم نیز میتوانید در حین گفتگوی صوتی، به صفحهی چت بازگردید.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🔹میزان مصرف حجم اینترنت
کیفیت تماس صوتی و حجم مصرفی اینترنت برای تماس در هر دقیقه، به کانکشن اینترنت شما بستگی خواهد داشت.
برای مثال اگر میانگین حجم مصرفی در هر دقیقه را ۳۶۰ کیلوبایت و قیمت متوسط یک بستهی ۳ گیگابایتی اینترنت را ۱۵ هزار تومان در نظر بگیریم، با فرض آنکه مصرف دیگری جز تماس نداشته باشید میتوانید به طور تقریبی ۱۴۰ ساعت مکالمه صوتی انجام دهید.
اگر احساس میکنید مصرف دیتای تماسها زیاد است، میتوانید با مراجعه به تنظیمات تلگرام و بخش Data and Storage Settings، گزینهی Use Less Data را فعال کنید تا با کاهش نامحسوس کیفیت صدای شما در تماس، حجم مصرفی نیز کاهش یابد. با روشن کردن این ویژگی میزان دیتای مصرفی برای تماس از ۲۰۰ کیلوبایت به ۱۶۰ کیلوبایت کاهش خواهد یافت.
🔹حریم شخصی
هر کاربر میتواند در صورت تمایل قابلیت دریافت تماس را به صورت کلی (Nobody) قطع یا فقط به مخاطبان خود (My Contacs) محدود کند. در صورت مسدود کردن تماس، کاربران مسدود شده هنگام تماس با شما پیغام Doesn't Accept Call را دریافت خواهند کرد.
🔹🔐امنیت تماس
رمزنگاری محبوب و ایمن End-to-End که پیش از این در سکرت چتهای تلگرام به کار رفته بود در تماس های صوتی نیز برای امن کردن مکالمات استفاده میشود؛ به طوری که حتی سازندگان برنامه نیز قادر به شنود صحبتهای شما نخواهند بود.
🔹تلگرام برای آنکه شما را از برقرار بودن امنیت مکالمه مطمئن کند شیوهی جالبی در پیش گرفته است. این اپلیکیشن کدهای پیچیده و رمزنگاری شده را در قالب ۴ اموجی ♥️🙈🍬🚚 به کاربر نشان میدهد تا درک و بررسی آن برای کاربران ساده و سریع باشد. در صورتی که این ۴ اموجی در گوشی مبدأ و مقصد یکسان باشند امنیت مکالمه برقرار است و میتوانید با خیالی آسوده تماس خود را ادامه دهید.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🆔 @HeiltonProgramming
✅ مهندسین کامپیوتر را دست کم نگیرید! ✅
❓❓زیرا:
1- آنها اولین چیزی که یاد گرفته اند TrueوFalse بوده،پس راحت میتوانند درست را از نادرست تشخیص دهند.
2- تمام برنامه هایی که انها پیاده سازی میکنند دارای الگوریتم می باشد و مرحله مرحله پیش میرود حتی نقطه برگشت دارد، پس راحت میتوانند به عقب برگردند و مسیر را تغییر دهند.
3- آنها از بچگی در دو دنیا زندگی کرده اند، پس حواستان باشد با یک حرکت میتوانند شما را انتقال دهند به دنیای مجازی.
4- آنها همیشه روی سیستم خود آنتی ویروس نصب میکنند و کوچکترین مورد مشکوکی که ببینند سریع delete میکنند،پس راحت میتوانند شما حذف کنند.
5- انها Cut کردن را خوب بلد هستند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
✅ مهندسین کامپیوتر را دست کم نگیرید! ✅
❓❓زیرا:
1- آنها اولین چیزی که یاد گرفته اند TrueوFalse بوده،پس راحت میتوانند درست را از نادرست تشخیص دهند.
2- تمام برنامه هایی که انها پیاده سازی میکنند دارای الگوریتم می باشد و مرحله مرحله پیش میرود حتی نقطه برگشت دارد، پس راحت میتوانند به عقب برگردند و مسیر را تغییر دهند.
3- آنها از بچگی در دو دنیا زندگی کرده اند، پس حواستان باشد با یک حرکت میتوانند شما را انتقال دهند به دنیای مجازی.
4- آنها همیشه روی سیستم خود آنتی ویروس نصب میکنند و کوچکترین مورد مشکوکی که ببینند سریع delete میکنند،پس راحت میتوانند شما حذف کنند.
5- انها Cut کردن را خوب بلد هستند.
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🆔 @HeiltonProgramming
✅ رابط (Interface ) چیست ؟ ✅
به طور کلی Interfaceها یک قالب اجرائی برای کلاسها می باشند . بدین صورت که با تعریف مشخصات کلی متدها بدون پیاده سازی آنها، کلاسهای مشتق شده را ملزم به پیاده سازی کامل آن متدها میکند . بنابراین ، فقط مشخصات متدها یک بار در Interface تعریف می شوند و هر جا که لازم باشد پس از ارث بری ، متدهای آنها پیاده سازی می شود . در کلیه نسخ دات نت Interface ها با حرف I شروع میشود و با این خصیصه از دیگر اجزا جدا و مشخص می شوند . تعریف آن بسیار شبیه کلاس میباشد ولی با همان تفاوت که در بالا ذکر شد یعنی متدهای آن فاقد کد می باشند . اینتر فیس ها سازنده و فیلد هم ندارند و نمی شود از روی آنها نمونه ای ایجاد کرد .
👌👌 مزایای Interface ها چیست ؟
در حالت عادی ارث بری از چند کلاس به طور هم زمان امکان پذیر نیست ولی Interface ها این مزیت را دارند که به هر تعداد که لازم است ، کلاسهای مشتق شده از آنها ارث بری کنند . این موضوع یکی از مهم ترین مزایای Interface می باشد .
هم چنین با استفاده از Interface کد ها قابلیت بهتری در نگهداری ، انعطاف و استفاده مجدد پیدا میکنند .
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
✅ رابط (Interface ) چیست ؟ ✅
به طور کلی Interfaceها یک قالب اجرائی برای کلاسها می باشند . بدین صورت که با تعریف مشخصات کلی متدها بدون پیاده سازی آنها، کلاسهای مشتق شده را ملزم به پیاده سازی کامل آن متدها میکند . بنابراین ، فقط مشخصات متدها یک بار در Interface تعریف می شوند و هر جا که لازم باشد پس از ارث بری ، متدهای آنها پیاده سازی می شود . در کلیه نسخ دات نت Interface ها با حرف I شروع میشود و با این خصیصه از دیگر اجزا جدا و مشخص می شوند . تعریف آن بسیار شبیه کلاس میباشد ولی با همان تفاوت که در بالا ذکر شد یعنی متدهای آن فاقد کد می باشند . اینتر فیس ها سازنده و فیلد هم ندارند و نمی شود از روی آنها نمونه ای ایجاد کرد .
👌👌 مزایای Interface ها چیست ؟
در حالت عادی ارث بری از چند کلاس به طور هم زمان امکان پذیر نیست ولی Interface ها این مزیت را دارند که به هر تعداد که لازم است ، کلاسهای مشتق شده از آنها ارث بری کنند . این موضوع یکی از مهم ترین مزایای Interface می باشد .
هم چنین با استفاده از Interface کد ها قابلیت بهتری در نگهداری ، انعطاف و استفاده مجدد پیدا میکنند .
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
🆔 @HeiltonProgramming
✅ کلاس Abstract چیست ؟ ✅
کلاس Abstract یکی از ابزارهای مهم OOP می باشد که نمیتوان از آنها نمونه ای ساخت . به عبارتی دیگر نمی توانیم متغیری از کلاس Abstract تعریف کنیم .
یک کلاس Abstract شبیه Interface میباشد ولی با دیدی وسیعتر . این کلاسها می تواند دارای متدهای Abstract باشد که شبیه Interface فقط اعلام میشوند و باید در کلاسهای مشتق شده ، بازنویسی شوند . البته میتوان در این کلاسها متد هائی داشت که Abstract نیستند و احتیاجی به پیاده سازی آنها در کلاسهای مشتق شده ندارند .
باید توجه داشت که تنها متدهایی از کلاس abstract الزام به پیاده سازی دارن که صریحا کلمه abstract در تعریف اون متد ذکر شده باشه.
در واقع همین متد ها هم الزامی به پیاده سازی ندارن. یعنی میشه در subclasss هم به صورت abstract ذکر بشن. البته به شرطی که subclass هم به صورت abstract تعریف شده باشه.
در ضمن کلاس abstract میتونه متد های ساده یا غیر abstractt هم داشته باشه. همونطور که میدونید متد های غیر abstract باید بدنه داشته باشن و نیازی به پیاده سازی ندارن.
پس کلاس abstractt هم میتونه متد هایی داشته باشه که باید پیاده سازی بشن هم متد هایی داشته باشه که لازم نباشه پیاده سازی بشن.
با توجه به تعاریف ذکر شده کلاس Abstract حالتی بین کلاسهای معمولی و Interface ها میباشد و کلاسی میباشد که غیر قطعی و ناتمام میباشد که باید در سطح فرزندانش تکمیل شود .
👌👌 مزایای کلاسهای Abstract چیست ؟
یکی از مزیت های کلاس Abstract فراهم نمودن کلاس پایه برای دیگر کلاسهای مشتق شده می باشد با این توضیح متدهای آن می توانند کد نویسی شده باشند یا نه . از طرفی پیاده سازی تمام متدهای Abstract در کلاس مشتق شده اجباری نیست .(برخلاف Interface) .
تعریف سطوح دسترسی برای متدها و خصوصیتها مانند کلاسهای معمولی نیز یکی دیگر از مزیت های این کلاسها می باشد .
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃
✅ کلاس Abstract چیست ؟ ✅
کلاس Abstract یکی از ابزارهای مهم OOP می باشد که نمیتوان از آنها نمونه ای ساخت . به عبارتی دیگر نمی توانیم متغیری از کلاس Abstract تعریف کنیم .
یک کلاس Abstract شبیه Interface میباشد ولی با دیدی وسیعتر . این کلاسها می تواند دارای متدهای Abstract باشد که شبیه Interface فقط اعلام میشوند و باید در کلاسهای مشتق شده ، بازنویسی شوند . البته میتوان در این کلاسها متد هائی داشت که Abstract نیستند و احتیاجی به پیاده سازی آنها در کلاسهای مشتق شده ندارند .
باید توجه داشت که تنها متدهایی از کلاس abstract الزام به پیاده سازی دارن که صریحا کلمه abstract در تعریف اون متد ذکر شده باشه.
در واقع همین متد ها هم الزامی به پیاده سازی ندارن. یعنی میشه در subclasss هم به صورت abstract ذکر بشن. البته به شرطی که subclass هم به صورت abstract تعریف شده باشه.
در ضمن کلاس abstract میتونه متد های ساده یا غیر abstractt هم داشته باشه. همونطور که میدونید متد های غیر abstract باید بدنه داشته باشن و نیازی به پیاده سازی ندارن.
پس کلاس abstractt هم میتونه متد هایی داشته باشه که باید پیاده سازی بشن هم متد هایی داشته باشه که لازم نباشه پیاده سازی بشن.
با توجه به تعاریف ذکر شده کلاس Abstract حالتی بین کلاسهای معمولی و Interface ها میباشد و کلاسی میباشد که غیر قطعی و ناتمام میباشد که باید در سطح فرزندانش تکمیل شود .
👌👌 مزایای کلاسهای Abstract چیست ؟
یکی از مزیت های کلاس Abstract فراهم نمودن کلاس پایه برای دیگر کلاسهای مشتق شده می باشد با این توضیح متدهای آن می توانند کد نویسی شده باشند یا نه . از طرفی پیاده سازی تمام متدهای Abstract در کلاس مشتق شده اجباری نیست .(برخلاف Interface) .
تعریف سطوح دسترسی برای متدها و خصوصیتها مانند کلاسهای معمولی نیز یکی دیگر از مزیت های این کلاسها می باشد .
🍃💐🍃🌸🍃🌸🍃
گروه برنامه نویسی هیلتن😎👇
🆔 @HeiltonProgramming
🍃💐🍃🌸🍃🌸🍃