
مفهوم چندریختی ویژگی است که به رابطها امکان میدهد تا برای گروهی از عملیاتها مورد استفاده قرار گیرند. مفهوم چندریختی از طریق دو مفهوم متدهای Override (توابع مجازی) و Overload شده پشتیبانی میشود. چندریختی به معنای چندین شکل از یک متد است. مفهوم چندریختی اغلب به وسیلهٔ عبارت« یک رابط، چند متد» بیان میشود. این بدین معناست که این امکان وجود دارد که یک رابط عمومی برای گروهی از فعالیتهای مرتبط به هم طراحی شود. در برنامههای شیء گرا مانند سی پاس پلاس، این امکان فراهم شده تا دو و یا بیش از دو متد همنام در یک کلاس تعریف نمود، مشروط بر اینکه تعریف پارامترهای آن متفاوت باشد. در این موارد متدها Overload میشوند. از چندریختی به منظور تعیین انواع مختلف متدهای پویا، در زمان اجرا استفاده میشود. که این یکی از قدرتمندترین امکاناتی است که چندریختی به وجود میآورد. چنانچه نام و امضای متدی از یک زیر کلاس (در ساختار سلسله مراتبی کلاسها) با نام و نوع امضای متدی از فوق کلاسش یکسان باشد، در آن صورت متد موجود در زیر کلاس، متد موجود در فوق کلاسش را Override میکند.
در دوره آموزشی O'Reilly Inheritance and Polymorphism with C++ Training Video با استفاده از سی پلاس پلاس به آموزش وراثت و چندریختی در شی گرایی می پردازیم.





