Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

iOS Object-Oriented Swift Class Inheritance Overriding Methods

Gabriel Moreno
Gabriel Moreno
3,579 Points

Swift 3 - Override

I can't seem to figure out how to pass this code challenge. Please help.

TIA

objects.swift
class Person {
  let firstName: String
  let lastName: String 

  init(firstName: String, lastName: String) {
    self.firstName = firstName
    self.lastName = lastName
  }

  func fullName() -> String {
    return "\(firstName) \(lastName)"
  }
}

// Enter your code below
class Doctor: Person {
  override func fullName() -> String { 
    return "Dr. (lastName)" 
  } 
}

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

2 Answers

David Papandrew
David Papandrew
8,386 Points

Hi Gabriel,

You are super close, but one little typo is preventing your code from passing: You left off the leading backslash in the return statement for the fullName method in the Doctor class (so your string won't interpolate correctly).

class Doctor: Person {
  override func fullName() -> String { 
    return "Dr. \(lastName)" // <== MAKE SURE YOU FIX THIS LINE 
  } 
}