Title: Object-Oriented Design Principles
Course: CPS 189: Java Certification - Review, Practice & Prepare (Development) > Section: Learning Modules

This unit covers interfaces and contrasts them with abstract classes.

By the end of this lesson, you will be able to:

- Write code that declares, implements and/or extends interfaces
- Choose between interface inheritance and class inheritance
- Develop code that implements "is=a" and/or "has-a" relationships
- Apply object composition principles
- Design a class using the Singleton design pattern
- Write code to implement the DAO pattern
- Design and create objects using a factory, and use factories from the API