Topic Name Description
Course Syllabus Page Course Syllabus
Unit 1: Fundamental Concepts of OO Programming Book Traditional vs. Object-Oriented Approaches

Object-oriented approaches to software development are an important expansion of procedural approaches. Java explicitly supports both approaches, but you should focus on the object-oriented approach. This article compares the two approaches and explains the fundamentals of each.

Page Advantages and Disadvantages of Object-Oriented Programming

Read this article about object-oriented programming. Every paradigm has its advantages and disadvantages. OO is the same.

Unit 2: Using Java for OO Programming Page Objects and Object-Oriented Programming

This section explains fundamentals of object oriented programming. As you read, focus on the difference between classes and objects.

Page Constructors

This article discusses the use of constructors to build a class and set the initial values of an object. If you think of classes as templates or blueprints of some entity, constructors are the factory that builds the entity and puts it into existence.

Page Accessors and Mutators

Getters (also called accessors) and setters (also called mutators) are a fundamental approach to abstraction. This article explains the purpose of getters and setters, and how they are used in Java.

Page Inheritance, Polymorphism, and Abstract Classes

This section expands the discussion from objects and classes to inheritance, polymorphism, and abstract classes. These facets of OO programming are a natural consequence of the basic concepts behind objects and classes.

Page Java Encapsulation

Encapsulation facilitates control over access to components of a class. Read this article to get a clear understanding.

Page Decoupling

A major principle of OO programming is keeping the implementation of an object separate from manipulation. This article explains how that works.

Course Feedback Survey URL Course Feedback Survey