If I'm understanding what you're saying, I think you're confusing the Is-a and Has-a relationships.
A Term Has-a Course(s)
A Course Has-a Assignment(s)
This means that Course
does not extend Term
, but that Course
and Term
are independent classes. However, it may be that a Term
Is-a ArrayList
which Has-a Course
.
I don't see any particular need for hierarchy in your class structure.