Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
class Animal { var name: String var sound: String init(name: String, sound: String) { self.name = name self.sound = sound } func makeSound() -> String { return "\(name) says \(sound)" } func describe() -> String { return "Animal: \(name)" } } class Dog: Animal { var breed: String init(name: String, breed: String) { self.breed = breed super.init(name: name, sound: "Woof") } // Override method override func describe() -> String { return "\(super.describe()), Breed: \(breed)" } // New method func fetch() -> String { "\(name) fetches the ball!" } } class GoldenRetriever: Dog { init(name: String) { super.init(name: name, breed: "Golden Retriever") } override func makeSound() -> String { return "\(name) barks happily!" } } let dog = GoldenRetriever(name: "Buddy") print(dog.makeSound()) // Buddy barks happily! print(dog.describe()) // Animal: Buddy, Breed: Golden Retriever print(dog is Animal) // true - type checking
Result
Open