[size=xx-large]Generics[/size]
[i][size=large]Ordinary classes and methods work with specific types: either primitives or class types. If you are writing code that might be used across more types, this rigidity(1) can be overconstraining(2). (1) 刻板;(2) 超过限制;[/size][/i]
[size=medium]One way that object-oriented languages allow generalization is through polymorphism. You can write (for example) a method that takes a base class object as an augument, and then use that method with any class derived from that base calss. Now your method is a little more general and can be used in more places. The same is true within classes--anyplace you use a specific type, a base type provides more flexibility. Of course, anything but final calss can be extended, so this flexibility is automatic much of the time.[/size]
[i][size=large]Ordinary classes and methods work with specific types: either primitives or class types. If you are writing code that might be used across more types, this rigidity(1) can be overconstraining(2). (1) 刻板;(2) 超过限制;[/size][/i]
[size=medium]One way that object-oriented languages allow generalization is through polymorphism. You can write (for example) a method that takes a base class object as an augument, and then use that method with any class derived from that base calss. Now your method is a little more general and can be used in more places. The same is true within classes--anyplace you use a specific type, a base type provides more flexibility. Of course, anything but final calss can be extended, so this flexibility is automatic much of the time.[/size]