Die Frage tauchte in meinem Kopf auf, was passiert, wenn ich einen Alias vom Swift-Typ definiere? Was ist der Mechanismus dahinter? Bis ich die automatische Initializer Inheritance Kapitel aus dem Swift amtliches Dokument gelernt:Eine Vermutung, dass der Alias-Mechanismus des Swift-Typs der automatische Initialisierer ist. Vererbung
Wenn Ihre Unterklasse keine bestimmten Initialisierung nicht definiert, erbt automatisch alle seine Oberklasse bezeichnet initializers
Und hier ist mein Übungscode zum Lernen
class Vehicle{
var numberOfWheels = 0
var description: String {
return "\(numberOfWheels) wheel(s)"
}
}
class Auto: Vehicle{}
let VM = Auto()
VM.numberOfWheels
Wow! Dies funktioniert mindestens genauso wie der Swift-Typ-Alias. Auto ist der Alias des Typs Fahrzeug
Frage: Bin ich es richtig verstanden? Dies ist der Mechanismus hinter dem Typalias.
'Auto' ist kein Typ-Alias, es ist eine Unterklasse von' Vehicle' – vadian
@vadian Also der Typ Alias tatsächlich in der gleichen Ebene der ursprünglichen Klasse, aus der es definiert. Aber Unterklasse ist in der Sub-Ebene, es geerbt von der Super-Klasse – SLN
Ein Typ-Alias ist ein Synonym, das anstelle des ursprünglichen Begriff verwendet werden kann, zum Beispiel 'NSTimeInterval' ist ein Typ Alias von' Double' und kann überall dort verwendet werden 'Double' wird erwartet. – vadian