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?
其实前面已经对它们的差异进行了梳理。