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 Class Inheritance Overriding Methods

Stuck on override segment of code.

I am stuck on where I may be going wrong here. I get a "Method does not override any method from its superclass." I appreciate any thoughts or suggestions on how to improve my current code as well. Thank you.

objects.swift
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)"
    }
}

class Doctor: Person {

    override func fullName() -> String {
        return "Dr. \(lastName)"
    }
}

let someDoctor = Doctor(firstName: "Sam", lastName: "Smith")
someDoctor.fullName()

2 Answers

Christian Mangeng
Christian Mangeng
15,970 Points

Hi Joel,

it seems you have changed the name of the method provided at the beginning of the task from fullName to getFullName. Change it back to the default, and your code will pass. Note that when overriding methods, they need to have the same name, and at the moment the names in your code would not match.

Hi Christian,

That worked! Thank you for being another set of eyes. Take care!