Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Object-Oriented Swift 2.0 Class Inheritance Overriding Properties

Maybe using the class name SuperEnemy for a sub-class that inherits from a super-class isn't the best choice?

(i.e. might cause confusion when referring to the base class Enemy as a super class and then the sub class as SuperEnemy.)

Some people might get (super) confused.

And then adding an isSuper Boolean to the SuperEnemy SUB-class because it's a super enemy (not a super-class) probably isn't helping either.

4 Answers

Arman Arutyunov
Arman Arutyunov
21,900 Points

High five man! I got stuck too for a while trying to figure out what is a sub class and what is super

Christopher Mayfield
Christopher Mayfield
19,928 Points

Agreed, it should be have called toughEnemy.

Martina Reiter
Martina Reiter
17,654 Points

agreed. the names are super super super super super super super super super confusing

Charlie O'Shea
Charlie O'Shea
18,737 Points

Agreed. Would be more useful to give a more practical property to the subclass, ie. isBlue = true which we can imagine would have some visible effect in the future game.

Also super is super confusing for a name, and the reason is that the super.init() function features the term super and can leave the viewer wondering if this is part of the language or because 'super' was chosen as a name for the subclass.