Junior — Middle
Milline on lõplik modifikaatori roll ja millistel juhtudel on selle kasutamine õigustatud?
sobes.tech AI
Vastus AI-lt
Swift'is final modifikatorit kasutatakse klassi, meetodi või omaduse üle kirjutamise takistamiseks alamklassides. Kui klass on deklareeritud kui final, seda pärida ei saa. Kui meetod või omadus on märgitud kui final, seda ei saa üle kirjutada.
final kasutamine on õigustatud järgmistes olukordades:
- Kui soovite tagada, et klassi või meetodi käitumine ei muutu alamklassides, mis suurendab koodi turvalisust.
- Optimeerimise eesmärgil, kuna kompilaator saab paremini optimeerida
finalmeetodite väljakutseid. - Vältimaks vigu, mis on seotud valesti üle kirjutamisega.
Näide:
final class NetworkManager {
func fetchData() {
// rakendamine
}
}
// Püüd pärida põhjustab vea
// class CustomNetworkManager: NetworkManager {} // Viga
class BaseClass {
final func doSomething() {
print("Põhimeetod töötab")
}
}
class SubClass: BaseClass {
// override func doSomething() {} // Viga, meetod on final
}