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 Inheritance What is Inheritance?

Andrew Chung
Andrew Chung
5,203 Points

Create an instance of the class RoundButton and name the instance rounded.

I keep getting an error saying my code can't be compiled but I can't find the error.

Button.swift
class Button {
  var width: Double
  var height: Double

  init(width:Double, height:Double){
    self.width = width
    self.height = height
  }

class RoundButton: Button {
  var cornerRadius = 5.0
}
}

var rounded = RoundButton(width: 10, height: 10)

3 Answers

Sean T. Unwin
Sean T. Unwin
28,690 Points

We want to create the RoundButton class outside of the Button class. A sub-class, or inherited class, is still their own class. We want to create them in their own space, not inside of the parent they are inheriting from.

Andrew Chung
Andrew Chung
5,203 Points

Thanks! I see the problem now.

Jamil Jones
Jamil Jones
10,852 Points

Could someone show me how this works as I am running into the same thing.

Sean T. Unwin
Sean T. Unwin
28,690 Points

Jamil Jones, in the op's code sample the RoundButton class is nested within the Button class. We declare classes within their own code blocks ( squiggly brackets, i.e. { } ).

So we want our code to have the following format:

class Button {

 // Button class code here

}

class RoundButton: Button {

  // RoundButton class code here

}

// other code

I hope that helps to visualize the formatting.