Đa hình là một khái niệm lập trình hướng đối tượng đề cập đến khả năng của một biến, hàm hoặc đối tượng có nhiều dạng. Một ngôn ngữ có tính đa hình cho phép các nhà phát triển lập trình nói chung thay vì lập trình cụ thể.