Sobes.tech
Junior — Middle

Proqramın icrası zamanı interfeysə konkret implementasiyanın necə bağlandığı necə həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

iOS-da, interfeysi müəyyən bir həyata keçirilməyə bağlamaq üçün tez-tez delegasiya (delegate) və ya protokollar (protocols) nümunəsi istifadə olunur.

Protokol metodlar toplusunu müəyyən edir və konkret sinif bu protokolu həyata keçirir. İcrada, interfeys obyekti protokolu həyata keçirən obyektə istinad edir və onun metodlarını çağırır. Bu, interfeysi dəyişmədən həyata keçirməyə imkan verir.

Swift-də nümunə:

protocol DataSource {
    func fetchData() -> String
}

class RealDataSource: DataSource {
    func fetchData() -> String {
        return "Həqiqi mənbədən məlumatlar"
    }
}

class ViewController {
    var dataSource: DataSource?

    func showData() {
        if let data = dataSource?.fetchData() {
            print(data)
        }
    }
}

let vc = ViewController()
vc.dataSource = RealDataSource() // icra zamanı həyata keçirilmə bağlanması
vc.showData() // Çıxış: Həqiqi mənbədən məlumatlar

Bu şəkildə, interfeys (protokol) və həyata keçirmə dinamik şəkildə əlaqələndirilir.