itssamuelrowe/Zen

Implement inheritance

itssamuelrowe opened this issue · 0 comments

Inheritance is a very important feature of object-oriented programming, a mechanism which allows one class to inherit the behaviors and attributes from another class. Inheritance allows you to create a hierarchy of classes. Thus, it has a direct impact on the design of programs written in Zen.

The design of inheritance should address the following questions.

  • Single inheritance or multiple inheritance?
  • In case of multiple inheritance, how is the diamond inheritance problem addressed?
  • What happens when two classes in an hierarchy have fields with the same names?
  • How are super constructors invoked?
  • What about abstract methods?
  • What about interfaces?