The AP Computer Science A 5-hour live stream review is here!Β πŸ’»

Join us on May 5, 2021 for the 🌢️ AP Computer Science A Cram Finale for a last minute review to get all your questions answered!

πŸ“š

All Subjects

Β >Β 

πŸ’»Β 

AP Comp Sci A

Β >Β 

πŸ–²

Unit 9

9.5 Creating References Using Inheritance Hierarchies

2 min readβ€’november 16, 2020

Peter Cao


Now that we are done with making our subclass, let's look at inheritance from a user standpoint. Inheritance can be thought as an upside down tree with the "root" on the top and the "branches" on the bottom. The root is the superclass while the branches are the subclasses of this superclass. A visual representation of this tree is called a type diagram or hierarchy tree. Here is the hierarchy tree that we will look at for the next two topics:
https://firebasestorage.googleapis.com/v0/b/fiveable-92889.appspot.com/o/images%2F-gTiRkkb1UFII.png?alt=media&token=ae860a2d-47f4-458e-981f-526345a7d8c5

Courtesy of Wikimedia Commons.

Here, we can see the relationship between classes visually which may be easier to analyze than the actual code itself. The class headers for the above showing which are subclasses of what classes are as follows:
public class A public class B extends A public class C extends B public class D extends C public class E extends I public class F extends I public class G extends H public class H extends A public class I extends H
Thus, we have the following relationships:
  • A is the superclass to B and H
  • B is the superclass to C
  • C is the superclass to D
  • H is the superclass to G and I
  • I is the superclass to E and F
However, superclasses and subclasses can also be indirect. Since C is a subclass of B and B is a subclass of A, then C is also a subclass of A.
This is important when we construct objects of a subclass. Let's take class C for example. There are many ways in which we can make an object c of class C. This is as follows:
C c = new C(); B c = new C(); A c = new C();
This is essentially what polymorphism is. Since C is a subclass of both B and A, c is also an object of B and A. This is like saying that AP CSA, an AP subject, is also a subject. Polymorphism states that we can have multiple types for one object of a subclass. However, the following is illegal:
C b = new B(); C a = new A();
This is because an object of type B or type A is not necessarily an object of type C. If the above were true, this would be like saying that any subject, even PE, is an AP subject, which makes no sense (even though AP PE should be a thing).

Was this guide helpful?

πŸ’ͺ🏽 Are you ready for the Comp Sci exam?
Take this quiz for a progress check on what you’ve learned this year and get a personalized study plan to grab that 5!
START QUIZ
Hours Logo
Studying with Hours = the ultimate focus mode
Start a free study session
FREE AP comp sci a Survival Pack + Cram Chart PDF
Sign up now for instant access to 2 amazing downloads to help you get a 5
Browse Study Guides By Unit
πŸ™
Exam Reviews
πŸ–±
Unit 10: Recursion
βž•
Unit 1: Primitive Types
πŸ“±
Unit 2: Using Objects
πŸ–₯
Unit 3: Boolean Expressions and if Statements
πŸ•Ή
Unit 4: Iteration
βš™οΈ
Unit 5: Writing Classes
⌚️
Unit 6: Array
πŸ’Ύ
Unit 7: ArrayList
πŸ’»
Unit 8: 2D Array
Join us on Discord
Thousands of students are studying with us for the AP Computer Science A exam.
join now
πŸ“± Stressed or struggling and need to talk to someone?
Talk to a trained counselor for free. It's 100% anonymous.
Text FIVEABLE to 741741
Β© 2021 Fiveable, Inc.