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 trialJoseph Kandi
2,640 PointsHow do you override a method and provide a default to the overridden method?
I have overridden the incerementBy function but is give me an error when i add a default points: Double = 7.0, if i do remove it then i also get an error that i did not add a default value to the points parameter. Am not sure how to accomplish this task.
class Button {
var width: Double
var height: Double
init(width:Double, height:Double){
self.width = width
self.height = height
}
func incrementBy(points: Double){
width += points
height += points
}
}
class RoundButton: Button {
var cornerRadius: Double = 5.0
override func incrementBy(points: Double){
self.width += points
self.height += points
}
}
1 Answer
Sjors Theuns
6,091 PointsHi Joseph,
you forgot to specify that the parameter points has now a default value. So you need to add an underscore like so:
override func incrementBy(_ points: Double = 7.0){
self.width += points
self.height += points
}
That should do the trick.
Joseph Kandi
2,640 PointsJoseph Kandi
2,640 PointsThanks, just realized the moment you answered