Rapido | Ereditarietà e sostituzione
Ciao a tutti!
In questo articolo parlerò dell'ereditarietà in Swift.
Se vuoi supportarmi, ci sono tre semplici passaggi: applaudi, condividi e seguimi, grazie in anticipo!
Come al solito, la mia tipica domanda; hai letto i miei articoli precedenti? In caso contrario, eccoli qui:
- Cose importanti che ogni sviluppatore iOS dovrebbe sapere + Consigli sui libri
- Che cos'è la programmazione reattiva | RxSwift + libri bonus
- Asincrono/attesa in Swift | Che cos'è?!
- Cos'è SwiftLint? — Il viaggio nel Clean Code
- Grand Central Dispatch & DispatchQueue in Swift
- Cos'è SOLIDO?! — Bonus Principio DRY
- (Possibile) Intervista domande e risposte per tutti gli sviluppatori iOS junior
- 13 comandi Git di cui avrai bisogno nella tua carriera — Cheat Sheet
- Cos'è il ciclo di vita di ViewController? — Sviluppo iOS con Swift
- Come diventare uno sviluppatore? || Perché NON dovresti diventarlo?
- Tipi di riferimento e valore in Swift: cosa sono?
- Test unitario | Rapido
- Codificabile — Codificabile/Decodificabile
- 7 fonti per imparare Swift
- Cos'è l'Obiettivo-C?
- 14 profili che DEVI seguire se vuoi diventare un iOS Dev.
- Come supportare la "modalità oscura" in un'app iOS: Swift, SwiftUI e Objective-C
- 15 domande-intervista che ti verranno poste come sviluppatore iOS
- Come creare un chatbot AI usando Swift? — Grazie per 100 follower!
Ereditare significa letteralmente ereditare. Nei linguaggi di programmazione orientati agli oggetti, ereditarietà significa produrre un'altra classe con le stesse proprietà da una classe. Tre punti importanti:
- Quando una classe eredita da un'altra, la classe che eredita è nota come sottoclasse.
- La classe da cui eredita è conosciuta come la sua superclasse .
- Qualsiasi classe che non eredita da un'altra classe è nota come classe base .
Override
Le sottoclassi hanno tutte le caratteristiche delle superclassi da cui derivano. Tutte le proprietà di proprietà, metodo ecc. della superclasse sono disponibili anche nella sottoclasse. In alcuni casi, potrebbe essere necessario modificare una proprietà di una sottoclasse e renderla speciale per la sottoclasse. Tali situazioni sono chiamate override. Se esaminiamo l'esempio seguente, il metodo defineTheVehicle della classe Vehicle viene sovrascritto nella classe Train. Ora il metodo defineTheVehicle della classe Train è come è scritto nella classe Train. Questa sostituzione non influisce sul metodo della classe Veicolo ( superclasse ).
Accesso a proprietà, metodi e script secondari di Super Class
Usiamo "super" per definirlo:
per metodi: super.method()
per proprietà: super.someProperty
per sub-script: super[someIndex].
Qui la parola super si riferisce alla superclasse.
Come evitare l'override
Se definiamo una variabile, una funzione, una classe e così via con la parola "finale" , ciò significa che ne impediamo l'override.
Esempio:
final var
final func { }
final class { }
static func {} //Cannot be overriden
final class func {} //Cannot be overriden
class func {} //Can be overriden
Esempi di codice
In questa parte vedrai esempi di codice relativi all'argomento di questo articolo.
class Vehicle {
// Properties, we define them as variable because they will change
var numberOfWheels: Int
var maxPassenger: Int
// Method
func defineTheVehicle() -> String {
return "It has \(numberOfWheels) wheels; Can take maximum \(maxPassenger) number of passengers."
}
// Initializer
init() {
numberOfWheels = 0
maxPassenger = 1
}
}
//The class of Motorcycle is subclass of the (super)class Vehicle.
class Motorcycle: Vehicle {
init() {
//We call our init from our superclass (Vehicle)
super.init()
numberOfWheels = 2
}
}
//The class of Train is subclass of the (super)class Vehicle.
class Train: Vehicle {
var speed: Double = 0.0
init() {
//We call our init from our superclass (Vehicle)
super.init()
maxPassenger = 200 //random number :D
numberOfWheels = 20 //random number :D
}
//Here we override the defineTheVehicle function.
override func defineTheVehicle() -> String {
return super.defineTheVehicle() + "; "
+ "\(speed) km/h"
}
}
Fondamentalmente è tutto da parte mia. Spero che questo articolo ti abbia aiutato un po '. Se ti piacciono i miei articoli, se pensi che siano utili, puoi cliccare sul pulsante “Segui” e condividere gli articoli per raggiungere più persone. :)
Vuoi sostenermi? Hai un paio di opzioni: applaudi, commenta, condividi, segui o offrimi un caffè .
Non dimenticare di seguirci su Twitter .

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































