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

ios object oriented 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)"
}

}

// Enter your code below

class Doctor:Person {
override init(firstName: String, lastName: String) {
    super.init(firstName: firstName, lastName: lastName)
}

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

}

let north= Person(firstName: "John", lastName: "North") smith.getFullName()

let someDoctor = Doctor(firstName: "Tasha", lastName: "Miles") someDoctor.getFullName()

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)"
    }
}

// Enter your code below

    class Doctor:Person {
    override init(firstName: String, lastName: String) {
        super.init(firstName: firstName, lastName: lastName)
    }

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

let north= Person(firstName: "John", lastName: "North")
smith.getFullName()

let someDoctor = Doctor(firstName: "Tasha", lastName: "Miles")
someDoctor.getFullName()

1 Answer

robertrinca
PLUS
robertrinca
Courses Plus Student 11,316 Points

So first, on the line you are creating "John North", you need a space between the constant and the =

let north = Person(firstName: "John", lastName: "North")

And then on the following line, instead of calling:

smith.getFullName()

Need to call it on the actual constant you assigned above:

north.getFullName()

Hope that helps.