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

Có cách nào để tạo một `abstr...

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ụ:

swift Copy
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

expert

Hashable protocol trong Swift được sử dụng để làm gì?

middle

Các design pattern nào được dùng trong Swift?

middle

Khi nào sử dụng fileprivate access modifier trong Swift?

Bình luận

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

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