Skip to content

Polymorphic value type、object-oriented programming、generic programming

本章讨论polymorphic value type、object-oriented programming、generic programming。

OOP interface

统一type,能够实现consistent type、consistent interface;

依赖于inheritance、implementation;

Dynamic polymorphism;

Java主要是利用它 来实现generic programming

Generic programming

抽象出type,并进行参数化,其实是不同的type,无法实现consistent type

不依赖inheritance、implementation;

Static polymorphism;

NOTE: 上述三种technique对type的处理是不同的

Polymorphic value type

它融合了OOP interface 和 generic programming的优势,能够实现:

统一type,能够实现consistent type、consistent interface;

不依赖inheritance、implementation;

dynamic polymorphism、static polymorphism;

总结

上述三种technique都能够实现:

1、consistent interface

2、make code generic、促进code reuse

3、program to abstraction and polymorphism

如何进行tradeoff?

其实前面已经对它们的差异进行了梳理。