是一种常见的编程范式，如下面的例子：但是协变类型不能兼容于泛型，如使用到智能指针或泛型容器的场合，即如下的程序是不合法的：其原因是为了防止通过协变机制绕过类型机制，使得某个指针指向了一个不兼容类型的对象。如：
参见.协变与逆变