Professional Documents
Culture Documents
Lecture 4(b):
Polymorphic abstraction: an overview
2013
Outline
What is polymorphic abstraction?
Polymorphic procedure
Polymorphic data abstraction
Benefits
Design issues
Example
2013
2013
Polymorphic procedure
/**
* @effects
*
<pre>
*
if v is null
*
throws NullPointerException
*
else if o is in v
*
returns an index where o is stored
*
(uses equals to compare o with elements of v)
*
else
*
throws NotFoundException</pre>
*/
2013
2013
Set
public class Set {
private Vector els;
...
public boolean insert(Object x) throws
NullPointerException
...
}
2013
Benefits
Code re-use through type hierarchy:
Ease maintenance:
2013
Design issues
Can use a supertype more specific than
Object
2013
2013
10