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

middle

Trong swift, sự khác biệt giữa một computed property và một property gán cho một closure là gì?

junior

Các Framework được sử dụng để xây dựng giao diện ứng dụng cho iOS là gì?

junior

Deep linking trong iOS là gì?

Bình luận

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

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