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