In this course, you will explore the basics of inheritance and run-time polymorphism in Java, and how these concepts can be used to model Is-A relationships. Begin with an introduction to inheritance, and how to identify its advantages and applications. You will then apply inheritance to model real-world entities. Next, learn the concepts of polymorphism, its advantages and applications. Then move on to recognizing how the methods derived from java.lang.Object work, and also how all built-in Java classes possess the methods derived from java.lang.Object. You will examine how objects of derived classes have independent copies of member variables, even from the derived class. Following an introduction to the Is-A relationship, you will learn how to recognize, in single inheritance, that every object of the derived class is an object of the base class, but not every object of the base class is an object of the derived class. Explore how to upcast and downcast, and learn how downcasting can sometimes be dangerous. Finally, learn how one base class can be created with multiple derived classes.
Java OOP: Understanding Inheritance & Polymorphism in Java