DOC PREVIEW
UMD CMSC 131 - Lecture 20: Interfaces

This preview shows page 1 out of 2 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 2 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 2 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1CMSC 131 Fall 2007Jan Plane (Adapted from Bonnie Dorr)Lecture 20:InterfacesLast time:1.Explicit array initialization2.Arrays as arguments3.Arrays of objects4.Privacy leaks 5.Array CopyingToday:1.Interfaces2.WrappersCMSC 131 Fall 2007Jan Plane (Adapted from Bonnie Dorr)1Code Re-useMany operations recur in programmingsortingmax / min(These operations may apply to strings, numbers, etc.)Desirable: one implementation!Less codingLess likely to have typosEasier maintenance of codeCMSC 131 Fall 2007Jan Plane (Adapted from Bonnie Dorr)2PolymorphismUsing an interface we can create one variable that can reference objects of different types (i.e. UMStudent variable referencing CSMajor, CEMajor or PsychMajor)This form of “generalization” is called polymorphismHallmark of OO languagesAllows application of same code to objects of different typesPolymorphism: “A variable that takes on many shapes.”Interfaces: one mechanism Java provides for polymorphisma collection of prototypes (method prototypes but no bodies) akaabstract methodsA class C implements an interface I if C provides implementations of all of I’s abstract methods A class implementing an interface can also provide other methods or implement other interfaces2CMSC 131 Fall 2007Jan Plane (Adapted from Bonnie Dorr)3WrappersWe may want to treat primitives as though they were objectsFor example, generic routines (like PsychoAnalyze) can be implemented using interfaces … but they are not usable on primitive typesTo overcome this problem, Java provides wrappers for primitive typesWrappers: classes whose objects contain single values of the “wrapped type”Wrappers also contain other useful conversion operations (to / from String, etc.)Wrappers included in java.lang:ByteShortIntegerLongFloatDoubleCharacterBooleanCMSC 131 Fall 2007Jan Plane (Adapted from Bonnie Dorr)4The Integer WrapperThe documentation is on-line at http://java.sun.com/j2se/1.5.0/docs/api/NotesConstructorsImplements ComparableDocumentation says “Comparable<Integer>”Comparable in Java 5.0 is a interfaceHas compareTo method, etc.CMSC 131 Fall 2007Jan Plane (Adapted from Bonnie Dorr)5In class Demo: Implementing a method using the Integer classCreate objects of type Integer using the constructorcan be based on int type values or variablesCreate an array of Integer type object references and those objects of type Integeruse the API to access information about the data in the Integer


View Full Document

UMD CMSC 131 - Lecture 20: Interfaces

Documents in this Course
Set #3

Set #3

7 pages

Exam #1

Exam #1

6 pages

Exam #1

Exam #1

6 pages

Notes

Notes

124 pages

Notes

Notes

124 pages

Load more
Download Lecture 20: Interfaces
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 20: Interfaces and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 20: Interfaces 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?