Author:king

Date:2009-05-27T01:21:35.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@230 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
king
2009-05-27 01:21:35 +00:00
parent ce8efd749e
commit b82d853640
2 changed files with 2 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
[[Property:title|I2E: Genericity]]
[[Property:weight|-6]]
[[Property:uuid|091c0b65-73de-b454-b3f2-d8752983780e]]
Building software components (classes) as implementations of abstract data types yields systems with a solid architecture but does not in itself ensure reusability and extendibility. Two key techniques address the problem: generosity (unconstrained or constrained) and inheritance. Let us look first at the unconstrained form.
Building software components (classes) as implementations of abstract data types yields systems with a solid architecture but does not in itself ensure reusability and extendibility. Two key techniques address the problem: genericity (unconstrained or constrained) and inheritance. Let us look first at the unconstrained form.
To make a class generic is to give it '''formal generic parameters''' representing as unknown types, as in these examples from EiffelBase, an open-source library covering basic data structures and algorithms:
<code>