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![](https://ecs-static.teamtreehouse.com/assets/views/marketing/shared/community-banner-white-47072046c51352fe6a69f5e691ff5700b28bb11d45197d7bdf066d9ea3f72d0c.webp)
![Nikki Bearman](https://uploads.teamtreehouse.com/production/profile-photos/6259222/micro_Nikki.jpg)
Nikki Bearman
3,389 PointsHelp with challenge for Overriding Methods in Object-Oriented Swift 2.0
I'm not sure what I'm meant to be doing in this challenge and was wondering if anyone might be able to help. The challenge is as follows and my code is attached.
I've provided a base class Person in the editor below. Once an instance of Person is created, you can call getFullName() and get a person's full name.
Your job is to create a class named Doctor that overrides the getFullName() method. Once you have a class definition, create an instance and assign it to a constant named someDoctor.
For example, given the first name "Sam", and last name "Smith", calling getFullName() on an instance of Person would return "Sam Smith", but calling the same method on an instance of Doctor would return "Dr. Smith".
I know I have a lot to learn in this area to be able to understand what I'm doing but if anyone can help on this challenge so I can learn a little more I'd be very grateful.
Thanks,
Nikki
class Person {
let firstName: String
let lastName: String
init(firstName: String, lastName: String) {
self.firstName = firstName
self.lastName = lastName
}
func getFullName() -> String {
return "\(firstName) \(lastName)"
}
}
// Enter your code below
class Doctor: Person {
override func getFullName() -> String {
return "\("Dr.") \(lastName)"
}}
let someDoctor = Doctor(firstName: "Sam", lastName: "Smith")
![Nikki Bearman](https://uploads.teamtreehouse.com/production/profile-photos/6259222/micro_Nikki.jpg)
Nikki Bearman
3,389 PointsMichael Drexler You're totally right, that was the problem, completely missed that! Thanks so much :-)
1 Answer
![Michael Drexler](https://uploads.teamtreehouse.com/production/profile-photos/6186662/micro_image.jpg)
Michael Drexler
4,374 Points"Hey Nikki Bearman,
i think the problem is in your override method. You are using a string interpolation for a literal. Can you try it just without curved brackets like "Dr. \(lastName)"
?"
You are welcome! I am glad that I could help :). Can you mark the answer as final answer if it works for you please? :) Thank you!
Best regards Michael
![Nikki Bearman](https://uploads.teamtreehouse.com/production/profile-photos/6259222/micro_Nikki.jpg)
Nikki Bearman
3,389 PointsNo problem, all done. Thanks again for your help.
Michael Drexler
4,374 PointsMichael Drexler
4,374 PointsHey Nikki Bearman,
i think the problem is in your override method. You are using a string interpolation for a literal. Can you try it just without curved brackets like
"Dr. \(lastName)"
?