The fact that one class (the subclass) can inherit data and methods from another class (the superclass) creates tremendous opportunity for code reuse. Some methods of the subclass may be identical to those of the superclass; thus, no new code need be written. When a subclass method does override a superclass method, it is common for the subclass method to use the superclass’s implementation and simply embellish it by performing additional tasks. Again, rather than recode the superclass impIementation, most object-oriented languages simply allow the subclass to reference the superclass’s implementation as part of its own implementation. In a large project, this represents a tremendous savings in the quantity of code that must be written.