خوش آمدید.
حالا وقت یک موضوع بسیار جالب است.
و آن وراثت خواهد بود.
ما از ساده شروع می‌کنیم و در طول مسیر به پیچیدگی بیشتری می‌رسیم.
ما قبلاً وراثت را در مورد استثناها دیده‌ایم.
بنابراین دیدیم که استثناها چگونه کار می‌کنند و انواع مختلفی از استثناها وجود دارد که همه از یک استثنای دیگر وراثت می‌برند.
که همان کلاس پایه استثنا است.
و ما خواهیم دید که چگونه می‌توانیم از آن برای خودمان استفاده کنیم.
و این قسمت دوم برنامه‌نویسی شی‌گرا است.
بنابراین قسمت اول فقط برای درک نحوه کار کلاس‌ها و نحوه کار کپسوله‌سازی بود.
و حالا به نحوه کار وراثت نگاه خواهیم کرد، خوب؟
پس بیایید یک پروژه جدید ایجاد کنیم.
یا حداقل من این کار را انجام می‌دهم.
و من این را برنامه وراثت می‌نامم، خوب؟
بنابراین وراثت مشابه چیزی است که شما وقتی از والدین خود ویژگی‌هایی را به ارث می‌برید، دارید.
بنابراین شما ممکن است رنگ مو یا رنگ چشم یکی از والدین خود را داشته باشید.
حداقل شانس‌ها بسیار بالا است که اینطور باشد.
و به‌هرحال، ساعت 4 صبح است.
معمولاً من اینقدر زود بیدار نمی‌شوم، بنابراین می‌خواهم یک فنجان چای با شما داشته باشم.
پس بیایید شروع کنیم.
پس چه چیزی داریم؟
ما کلاس برنامه خود را داریم و می‌خواهم به شما نشان دهم.
و من این را در همان فضای نام، در همان فایل نشان می‌دهم، خوب؟
بنابراین فرض کنید ما این کلاس پایه یا این کلاس به نام حیوان داریم، خوب؟
یک حیوان می‌تواند انواع مختلفی از ویژگی‌ها داشته باشد.
و این ویژگی‌ها می‌توانند خواص باشند.
و سپس مهارت‌هایی دارد.
و این مهارت‌ها می‌توانند متدها باشند.
درست است.
ما این را قبلاً دیده‌ایم.
اما حالا بیایید از یک مثال نگاه کنیم که از کلاس حیوان وراثت می‌گیریم با یک کلاس به نام سگ، خوب؟
بنابراین من یک متد عمومی به نام eat در اینجا دارم زیرا هر حیوان باید قادر به خوردن باشد.
پس اینجا می‌گوید در حال خوردن هستم.
و سپس من یک کلاس دیگر دارم.
و این می‌تواند در یک فایل جداگانه باشد.
نیازی نیست که در همان فایل با کلاس حیوان باشد، اما فقط برای نشان دادن آسان‌تر است که در یک جا انجام دهیم.
پس ما یک کلاس دیگر به نام سگ داریم که از حیوان وراثت می‌گیرد.
و این کلاس یک متد به نام bark خواهد داشت.
خوب، زیرا هر حیوانی نمی‌تواند پارس کند یا قابلیت پارس کردن ندارد.
برخی این کار را می‌کنند و عمدتاً این سگ‌ها هستند.
خوب.
به عنوان مثال، گربه‌ها می‌توانند میو میو کنند، فرض کنید.
پس اینجا من فقط می‌خواهم چیزی مانند در حال پارس کردن بگویم.
پس حالا چه اتفاقی در حال وقوع است؟
خوب، نکته اینجاست که ما کلاس پایه‌ای به نام حیوان داریم.
و این همچنین به‌طور معمول کلاس والد یا کلاس فوق‌العاده نامیده می‌شود که اساساً کلاسی است که اعضای آن وراثت می‌گیرند.
این به چه معناست که اعضا وراثت می‌گیرند؟
خوب، ما چند عضو را قبلاً دیدیم، درست است؟
ما خواص را به عنوان اعضا دیدیم.
ما متدها را به عنوان اعضا دیدیم.
ما سایر اجزا را نیز به عنوان اعضا دیدیم.
اما اساساً این‌ها ویژگی‌ها و قابلیت‌ها و غیره هستند که ما به سگ خود وراثت می‌دهیم.
بنابراین سگ ما اکنون از حیوان وراثت می‌گیرد، که به این معنی است که تمام قابلیت‌هایی را که یک حیوان دارد، دارد.
علاوه بر این، قابلیت‌های خود را نیز دارد.
بنابراین منظور من از قابلیت‌ها خواص و متدها است.
و خوب، اساساً اعضا.
بنابراین برای وراثت گرفتن شما از علامت دو نقطه استفاده می‌کنید.
و بعد از آن نام کلاس کلاسی که می‌خواهید از آن وراثت بگیرید را استفاده می‌کنید.
بنابراین در این مورد می‌خواهم کلاس سگ من از حیوان وراثت بگیرد.
ما این را با استثناها دیده‌ایم.
بنابراین وقتی که ما واقعاً این را سریع ایجاد کنیم.
بنابراین اینجا تقسیم بر صفر استثنا.
اگر به آن نگاه کنیم، دیدیم که تقسیم بر صفر استثنا از استثنای حسابی وراثت می‌گیرد که به نوبه خود از استثنای سیستم وراثت می‌گیرد.
که به نوبه خود از استثنا وراثت می‌گیرد.
چندین لایه ممکن از وراثت وجود دارد و استثنا کلاس پایه مطلق است.
بنابراین این اصول مطلق یک استثنا است.
اما سپس استثنای سیستم، به عنوان مثال، برخی از ویژگی‌های خاصی دارد که مختص خود است و
در داخل استثنای پایه موجود نیست.
بنابراین در مثال ما، اگر این را به سگ و حیوان خود برگردانیم، سگ ما از حیوان وراثت می‌گیرد که
به آن اجازه می‌دهد بخورد.
اما.
حیوان ما در مورد سگ نمی‌داند به این معنا که نمی‌تواند پارس کند، بنابراین هر حیوانی نمی‌تواند پارس کند.
فقط سگ، به عنوان مثال، می‌تواند پارس کند زیرا ما به‌طور خاص آن را طراحی کرده‌ایم.
حالا می‌توانیم یک لایه دیگر داشته باشیم که نژادهای مختلف سگ‌ها را داریم، به عنوان مثال.
و هر یک از آن‌ها دوباره ویژگی‌های جدیدی خواهند داشت.
خوب.
بنابراین سطوح جدیدی از فعالیت، به عنوان مثال، یک کالی بسیار فعال است در مقایسه با یک گریهوند که شما انتظار دارید که بسیار فعال باشد زیرا بسیار سریع است، اما آن‌ها نسبتاً آرام هستند، درست است؟
پس حالا بیایید این را در عمل ببینیم، خوب؟
بیایید این وضعیت بسیار جالب را در عمل ببینیم.
به‌هرحال، من همچنین باید اضافه کنم که این کلاس مشتق شده یا کلاس فرزند یا زیرکلاس است.
بنابراین می‌بینید که راه‌های مختلفی برای توصیف آن وجود دارد.
بنابراین این کلاسی است که اعضای کلاس پایه را وراثت می‌گیرد.
بنابراین کلاس سگ کلاس مشتق شده یا کلاس فرزند کلاس حیوان یا زیرکلاس کلاس حیوان است.
فکر می‌کنم شما متوجه شدید، درست است، اما فقط این است که این کلمات به‌طور متناوب استفاده می‌شوند و گاهی اوقات کمی گیج‌کننده است.
اما بله، فقط بدانید که سه راه مختلف برای گفتن هر یک از این نوع‌ها وجود دارد، سه راه مختلف برای گفتن کلاس پایه و سه راه مختلف برای گفتن کلاس مشتق شده.
پس حالا بیایید اینجا برویم و مطمئن شویم که کنسول ما بیدار می‌ماند.
و سپس من اینجا یک سگ ایجاد می‌کنم، خوب، سگ من.
و حالا می‌خواهم از متدهای سگم استفاده کنم.
بنابراین می‌بینید که به‌طور خودکار چند گزینه در مورد متدها دارم.
حالا همه آن‌ها را خودمان ایجاد کرده‌ایم، خوب؟
بنابراین آن‌هایی که ما ایجاد کردیم، پارس و خوردن هستند.
پس بیایید به آن‌ها نگاه کنیم و من به زودی به بقیه نیز می‌پردازم.
اما فقط می‌خواستم ابتدا به این بپردازم.
بنابراین می‌بینیم که یک سگ واقعاً می‌تواند پارس کند و یک سگ همچنین می‌تواند بخورد.
بنابراین حتی اگر ما هرگز متد eat را در داخل سگ پیاده‌سازی نکرده باشیم، می‌تواند به متد eat والد خود دسترسی پیدا کند.
بنابراین می‌بینید که IDE شکایتی ندارد.
بیایید این را سریعاً اجرا کنیم و خواهید دید که سگ ما در حال پارس کردن و خوردن است.
امیدوارم نه همزمان.
اما بله، این تقریباً مفهوم بسیار پایه‌ای وراثت است، جایی که یک کلاس اعضای یک کلاس دیگر را وراثت می‌گیرد که مزایای زیادی را ایجاد می‌کند.
حالا، به عنوان یک برنامه‌نویس، جایی که شما نیازی به ایجاد کلاس‌هایی که بسیار مشابه یکدیگر هستند ندارید، بلکه می‌توانید فقط از کلاسی که می‌خواهید وراثت بگیرید که بیشتر مهارت‌هایی را که می‌خواهید استفاده کنید، وراثت بگیرید بدون اینکه نیاز به تغییر کلاس موجود داشته باشید.
این نکته اصلی اینجا است.
ما کلاس حیوان را تغییر نمی‌دهیم.
اگر بخواهیم ویژگی‌های جدیدی به کلاس سگ خود اضافه کنیم، فقط آن را به خود سگ اضافه می‌کنیم.
پس این واقعاً جالب است.
و این پایان این ویدیو است.
اینقدر طولانی شده است.
در ویدیو بعدی می‌بینمتان. ```