Section 4 Interfaces and Parsing Data SLIDES ADAPTED
- Slides: 11
Section 4: Interfaces and Parsing Data SLIDES ADAPTED FROM ALEX MARIAKAKIS, WITH MATERIAL FROM KRYSTA YOUSOUFIAN, MIKE ERNST, KELLEN DONOHUE
Classes, Objects, and Java Everything(save primatives) is an instance of a class ◦ Defines data and operations Every class is part of the same type hierarchy ◦ All extend one specified class or Object ◦ Inherits superclass fields Every class also defines a type
Problems with Inheritance (abstract) Performer Perform() Dancer Musician Perform() *Does a beautiful dance* *Sings a soulful song* Michael Jackson Perform() What happens when we call Michael Jackson’s perform()?
Interfaces: Like Skeletons! Pure type declaration public interface Comparable { int compare. To(Object other); } Can contain: ◦ Method specifications (implicitly public) ◦ Named constants (implicitly public final static) ◦ New to Java 8, default method implementations Not normally used for implementation! Cannot create instances of interfaces (similar to abstract classes)
Michael Jackson’s Situation? Performer Dancer Singer Dance() Sing() Default = *Waltzes away* *Plays Wonderwall* = Default Perform() Default = *Does a beautiful dance* Perform() Michael Jackson Perform() *Sings a soulful song* = Default
Implementing Interfaces ● A class can implement one or more interfaces class Kitten implements Pettable, Huggable ● The implementing class and its instances have the interface type(s) as well as the class type(s) ● The class must provide or inherit an implementation of all methods defined by the interface(s) ◦ Not true for abstract classes
Interface Ideas?
Using Interface Types ● An interface defines a type, so we can declare variables and parameters of that type ● A variable with an interface type can refer to an object of any class implementing that type List<String> x = new Array. List<String>(); void sort(List a. List) {…}
Guidelines for Interfaces ● Provide interfaces for significant types and abstractions o Think about the “is-a” relationship ● Write code using interface types like Map instead of Hash. Map and Tree. Map wherever possible ◦ Allows code to work with different implementations later on ◦ Clarifies what the code makes use of ● Both interfaces and classes are appropriate in various circumstances
What about Abstract Classes? Why might you want to use an Abstract Class instead of an Interface?
Parsing Data ● We’ll look at examples using CSV
- A small child slides down the four frictionless slides
- Robert pushes the box to the left
- What is difference between abstract class and interface
- Interface and abstract class difference in java
- Designing interfaces and dialogues
- Gui events
- Colloid examples
- Parsing and translation in query processing
- This passage is adapted from jane austen
- How is a red blood cell adapted
- Adapted with permission from
- In what ways have the highland maya adapted to modern life?