آیا من مفهوم چند ریختی رو درست فهمیدم ؟
اصل چندریختی میگه که یک شی بر اساس دیتا تایپی که داره یا به عبارت دیگر یک شی براساس اینکه از چه نوعیه ، میتونه در برنامه ریختهای متفاوتی داشته باشد یعنی ما از یک مفهوم فقط میتونیم یک شی بسازیم و میتونیم بر حسب نیازی که داریم این شی رو به شکلهای متفاوتی بسازیم مثلا ما از مفهوم قهوه ساز میتونیم یک شی بسازیم که قوه درست میکنه حالا میتونیم همین قوه ساز رو بر حسب نیازمون به شکلهای متفاوتی بسازیم در این حالت هر یک از ریختهای متفاوت اون شی میاد متد هایی که در مفهوم اون شی وجود داره رو به روش خودش پیاده سازی میکنه اما همچنان نام متد و خروجی آن در همه ریختهای مختلف آن شی یکسان خواهد بود ، هر چند ممکن است خصوصیات خروجی در ریختهای مختلف اون شی کمی با هم فرق داشته باشند. درواقع مجموعه ای از اشیاء رو داریم که همشون از یک نوع هستند و فقط نحوه پیاده سازی متدهاشون باهم فرق داره به همین دلیل اگه یک متد مشخص رو از این اشیاء صدا بزنیم هر شی متناسب با پیاده سازی خودش یک خروجی رو به ما میده