خوش آمدید.
در این ویدیو ما قصد داریم رابط را در پروژه‌مان پیاده‌سازی و استفاده کنیم.
ما این حیوان هوشمند را که دفعه قبل ایجاد کردیم داریم.
و حالا به جای استفاده از وراثت، همانطور که انجام دادیم، می‌خواهیم از رابط در یک کلاس جدید که
ایجاد خواهیم کرد استفاده کنیم.
پس بیایید آن را درست زیر اینجا ایجاد کنیم تا دیدن آن آسان‌تر باشد.
پس من این کلاس عمومی به نام dog را دارم که رابط AI animal را پیاده‌سازی می‌کند.
حالا می‌بینید که مستقیماً یک خطا دریافت می‌کنم که می‌گوید عضو رابط AI animal را پیاده‌سازی نمی‌کند
و dog عضو رابط AI animal eat string را پیاده‌سازی نمی‌کند.
پس من باید این دو متد را پیاده‌سازی کنم، بنابراین می‌توانم روی آن بایستم و فقط پیاده‌سازی رابط یا
پیاده‌سازی تمام اعضا را انتخاب کنم.
پس من فقط می‌گویم پیاده‌سازی رابط.
پس می‌بینید که به طور خودکار کد را برای من اضافه کرد با eat که یک رشته food به من می‌دهد و
با make sound که فقط یک متد void است.
و هر دو را عمومی کرده است.
این کدهایی را درون آن پیاده‌سازی کرده است، اما من یک خطا دریافت می‌کنم که throw new not implemented exception است، که
این واقعاً جالب است زیرا این توسعه‌دهنده‌ای که از رابطی که ایجاد کردیم استفاده می‌کند را مجبور می‌کند که واقعاً
آن را پیاده‌سازی کند.
در غیر این صورت، ما باعث می‌شویم که این برنامه خراب شود و سپس توسعه‌دهنده متوجه می‌شود، اوه --،
من فراموش کردم این متد را پیاده‌سازی کنم، بنابراین فراموش کردم واقعاً کدی را به متد اضافه کنم.
خوب.
پس این نکته درباره رابط‌ها است.
زمانی که از آن‌ها استفاده می‌کنید، باید متدهای آن‌ها را پیاده‌سازی کنید.
پس بیایید این dog را برای خوردن استفاده کنیم.
پس من فقط می‌گویم dog eat.
و سپس هر چیزی که غذا باشد به علاوه food خوب.
و سپس برای متد make sounds من فقط می‌گویم پارس خوب.
و سگ فقط پارس می‌کند.
پس حالا من رابط I animal را پیاده‌سازی کرده‌ام.
پس بیایید از آن در کلاس برنامه‌مان استفاده کنیم.
پس من فقط می‌گویم dog dog new dog.
و من یک صدا می‌زنم.
و من سگ را وادار می‌کنم که بخورد.
پس dog dot eat.
و سگ چه چیزی باید بخورد؟ بگذارید بگوییم یک خوراکی.
پس خوراکی به این شکل حالا بیایید مطمئن شویم که می‌توانیم این کد را اجرا کنیم.
و من فقط یک read key اینجا اضافه می‌کنم و آن را اجرا می‌کنم.
و می‌بینیم که می‌گوید پارس و سگ خوراکی را خورد.
پس واقعاً خوب است.
پس می‌بینید که در اینجا اجرا واقعاً ساده است.
اما زیر آن خیلی بیشتر وجود دارد.
و ما به عمق بیشتری خواهیم رفت تا بفهمیم چرا، کجا و چه زمانی از سناریوهای دنیای واقعی استفاده کنیم که این
بسیار بیشتر معنا پیدا کند.
زیرا در این مورد ممکن است بگویید، خوب، چرا باید اهمیت بدهم؟
چرا باید این کار را انجام دهم؟
مسئله این است که شما باید در نظر بگیرید که این رابط‌ها، در حالی که می‌توانید رابط‌های خود را بسازید،
بسیار اغلب شما فقط از یک سری رابط‌هایی استفاده خواهید کرد که توسط شخص دیگری ایجاد شده‌اند.
پس شما کنترل بر این رابط‌ها ندارید.
اما وقتی که شما این رابط‌ها را پیاده‌سازی می‌کنید، همچنین باید اعضای آن را پیاده‌سازی کنید و سپس
باید از برخی دستورالعمل‌ها و قوانین پیروی کنید.
درست است.
پس اینجاست که واقعاً به کار می‌آید.
این فقط درباره ساختن آن‌ها نیست، حتی اگر وقتی شما یک توسعه‌دهنده پیشرفته‌تر شوید،
شما ممکن است شروع به استفاده از رابط‌ها نیز کنید.
اما از یک طرف این است.
اما از طرف دیگر، همچنین به ما اجازه می‌دهد که از وراثت چندگانه استفاده کنیم، که ما در ادامه
این فصل انجام خواهیم داد.
پس در ویدیو بعدی می‌بینیم.