- Published on
Swiftda funksiya Overloading
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Swiftda bir nechta funksiyalar bir xil nomga ega bo'lishi mumkin, agar ularning parametrlari farq qilsa (parametrlar soni boshqacha, turlari boshqacha yoki har ikkalasi).
Bunday funksiyalar overloaded functions (ortiqcha yuklangan funksiyalar) deyiladi. Bu xususiyat esa function overloading deb ataladi.
Misol:
Bu yerda test() funksiyasi overloaded qilingan. Nomlari bir xil, ammo argument turlari boshqacha.
Return turi overloadingga taalluqli emas. Funksiyalar qaytaradigan qiymat turi bir xil yoki boshqacha bo'lishi mumkin, ammo parametrlari albatta farq qilishi kerak.
Misol 1: Parametr turi bo'yicha Overloading
Bu misolda displayValue() quyidagicha overloaded qilingan:
- biri
Intparametr oladi - boshqasi
Stringparametr oladi
Chaqirilgan parametr turiga qarab, tegishli funksiya tanlanadi.

Misol 2: Parametrlar soni bo'yicha Overloading
Bu yerda display() funksiyasi parametrlar soni bo'yicha overloaded qilingan.

Misol 3: Argument Label orqali Overloading
Bu misolda ikkita display() funksiyasi:
- parametrlar soni bir xil
- parametrlar turi bir xil
Lekin baribir overloaded qilingan, chunki Swift'da argument label orqali ham overloading mumkin.
Birinchi masalaning yechimi
Keling, birinchi masala "Area hisoblash" ni birga yechib ko'ramiz:
1-qadam: Masalani tushunish
radius = 5β Aylana maydoni: Ο Γ 5Β² = 78.54width = 4, height = 6β To'rtburchak: 4 Γ 6 = 24side = 5β Kvadrat: 5 Γ 5 = 25
2-qadam: Yechim algoritmi
- Aylana uchun: Ο Γ radiusΒ²
- To'rtburchak uchun: width Γ height
- Kvadrat uchun: side Γ side
3-qadam: Kodni yozamiz
Natija: Bir xil area nomi bilan turli shakllar maydonini hisoblaydik.