Object-Oriented Programming: The Big Picture
Prerequisites: Level 1 — Beginner
Java's object-oriented design rests on four ideas, all of which you've already touched in Level 1 and will now go much deeper on:
- Encapsulation — hiding a class's internal state behind
privatefields and a controlledpublicinterface. - Inheritance — a class reusing and extending another class's fields and methods.
- Polymorphism — code written against a general type (a parent class or interface) automatically working with any specific subtype.
- Abstraction — modeling only the details that matter for the problem at hand, via abstract classes and interfaces.
The next several lessons take each of these in turn.