Object-Oriented Hierarchies in Java (Coursera)

Offered by LearnQuest,
Object-Oriented Hierarchies in Java (Coursera)

Object-Oriented Hierarchies in Java is the third of a series of courses in the Core Java Specialization. The Core Java Specialization is part of a series of programming specializations, derived from LearnQuest's private Java Bootcamps, designed to provide the skill set necessary to be hired as an IT developer using Java in many corporate environments.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

This course includes hands-on practice and will help you build on your knowledge of the Java language. After completing this course, you will have a deeper understanding of how to effectively implement and use inheritance and polymorphism in Java.
To be successful in this course, you should have taken:

Course 3 of 4 in the Core Java Specialization.

Syllabus

WEEK 1
In this video, we will introduce you to this course and explain what you will learn.
OO Programming Relationships
This module foreshadows the entire course, covering O-O Relationships, Inheritance, Polymorphism, Interfaces, Aggregation, and Design Guidelines. The following modules revisit selected topics in more detail.

WEEK 2
Inheritance
This module goes into more detail on implementing class inheritance in Java, including overriding methods, invoking overridden parent methods using super, and more.

WEEK 3
Abstract Classes
This module discusses Abstract classes, including what they are; where you might use them; how to implement them; and concludes with discussion of casting, which is the technique of taking a reference of a given type, and asserting a different type.

WEEK 4
Interfaces
Interfaces are the key to polymorphism in Java, since Java requires inheritance in order to implement polymorphism, and classes are limited to the single inheritance graph. This module goes into more detail on interfaces and polymorphism, and includes discussion of new Java 8 features, such as default and static methods, Functional Interfaces, Java Lambdas, and Method References.

WEEK 5
Polymorphism
Just as the first module served to foreshadow the entire content of this course, this module serves as a brief capstone, with a conceptual discussion of polymorphism mechanisms in Java, and practices for ensuring that polymorphism is an option in your programs.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Using Databases with Python (Coursera) Coursera
University of Michigan

Using Databases with Python (Coursera)

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization.

Sep 28th 2026
5-12 Weeks
Java Programming: Principles of Software Design (Coursera) Coursera
Duke University

Java Programming: Principles of Software Design (Coursera)

Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator.

Sep 28th 2026
4 Weeks
Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Oct 12th 2026
5-12 Weeks
Kotlin for Java Developers (Coursera) Coursera
JetBrains

Kotlin for Java Developers (Coursera)

The Kotlin programming language is a modern language that gives you more power for your everyday tasks. Kotlin is concise, safe, pragmatic, and focused on interoperability with Java code. It can be used almost everywhere Java is used today: for server-side development, Android apps, and much more. This course aims to share with you the power and the beauty of Kotlin.

Oct 12th 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Oct 12th 2026
5-12 Weeks
Single Page Web Applications with AngularJS (Coursera) Coursera
Johns Hopkins University

Single Page Web Applications with AngularJS (Coursera)

Do you want to write powerful, maintainable, and testable front end applications faster and with less code? Then consider joining this course to gain skills in one of the most popular Single Page Application (SPA) frameworks today, AngularJS. Developed and backed by Google, AngularJS is a very marketable skill to acquire.

Sep 28th 2026
5-12 Weeks
Programming Languages, Part A (Coursera) Coursera
University of Washington

Programming Languages, Part A (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Oct 5th 2026
5-12 Weeks
TDD - Desenvolvimento de Software Guiado por Testes (Coursera) Coursera
Instituto Tecnológico de Aeronáutica

TDD - Desenvolvimento de Software Guiado por Testes (Coursera)

Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, com método e organização graças às boas práticas e princípios exercitados no curso anterior; mas você talvez não se sinta ainda confortável em projetar programas usando técnicas ágeis, como o desenvolvimento guiado por testes (TDD).

Sep 28th 2026
4 Weeks