Câu hỏi phỏng vấn Swift
Câu hỏi

Có cách nào để tạo một abstract class trong Swift không?

Câu trả lời

Trong Swift, ngôn ngữ lập trình không hỗ trợ trực tiếp khái niệm lớp trừu tượng (abstract class) như trong một số ngôn ngữ lập trình khác như Java hay C#. Tuy nhiên, có một số phương pháp gián tiếp để mô phỏng hoặc đạt được hành vi tương tự như lớp trừu tượng.

Một cách tiếp cận là sử dụng phương thức với cơ chế fatalError() trong phần thân để buộc các lớp con phải ghi đè phương thức đó. Khi phương thức này được gọi mà không được ghi đè, chương trình sẽ bị crash tại runtime, tạo ra một lỗi nghiêm trọng. Ví dụ:

class Animal {
    func sound() {
        fatalError("Subclasses need to implement the sound() method.")
    }
}

class Cat: Animal {
    override func sound() {
        print("miauw")
    }
}

class Dog: Animal {
    override func sound() {
        print("woof")
    }
}

Trong ví dụ trên, lớp Animal có phương thức sound() mà không cung cấp triển khai cụ thể nào và sử dụn...

senior

senior

Gợi ý câu hỏi phỏng vấn

junior

Trong IOS có các trạng thái nào? Hãy giải thích chúng

middle

Sự khác biệt giữa App IDBundle ID là gì?

middle

Sự khác biệt giữa protocolclass trong Swift là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào