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

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

Agreed, it should be have called toughEnemy.

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

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.