تعددية الأشكال (الإنجليزية: Polymorphism) في لغات البرمجة ونظرية النمط، تعتبر تعددية الأشكال طريقة للتعامل مع الأنواع المختلفة. ويمكننا القول أنه شكل واحد رئيسي وينبثق منه أشكال فرعية يسهل التعامل معها.
وهناك أنواع شائعة من تعددية الأشكال، أبرزها:
تعددية الأشكال المخصصة (الإنجليزية: Ad hoc): وذلك بتعريف واجهة بينية مشتركة لمجموعة مجهولة العدد (اعتباطية) من الأنواع المحددة المنفردة.
تعددية الأشكال المعلمي أو الوسيطي (الإنجليزية: parametric): عندما يكون لدينا واحد أو أكثر من الأنواع غير المحددة بالاسم بل عن طريق رمز مجرد يمكن أن يمثل أي نوع.
تعددية الأشكال الفرعية (و تدعى أيضا تعددية الأشكال الفرعية أو تعددية الأشكال الضمنية) (الإنجليزية: Subtyping): عندما يشير الاسم إلى أمثال من عدة أصناف مختلفة مرتبطة ببعض الأصناف الأصل (الإنجليزية: superclass) المشتركة.