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.