Topic | Name | Description |
---|---|---|
Course Syllabus | Course Syllabus | |
Unit 1: Fundamental Concepts of OO Programming | 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. |
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 | Objects and Object-Oriented Programming | This section explains fundamentals of object oriented programming. As you read, focus on the difference between classes and objects. |
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. |
|
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. |
|
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. |
|
Java Encapsulation | Encapsulation facilitates control over access to components of a class. Read this article to get a clear understanding. |
|
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 | Course Feedback Survey |