Zusammenfassung der Zugriffsqualifizierer - Entwicklung von Smartphone-Anwendungen (Java / Kotlin / Objective-C / Swift / C # / F #)

Einführung

Ein Punkt der Verwirrung bei der Entwicklung in verschiedenen Sprachen ist der Zugriffsmodifikator. Dieses Mal werden wir als Entwicklungsversion für Smartphone-Anwendungen jedes Zugriffsqualifikationsmerkmal für Java / Kotlin, das für die Android-Entwicklung verwendet wird, Objective-C / Swift, das für die iOS-Entwicklung verwendet wird, und C # / F #, das für Xamarin verwendet wird, untersuchen und als Vergleichstabelle zusammenfassen. Ich versuchte es.

Vergleichstabelle

Zugriffsmodifikator Java Kotlin Objective-C Swift C# F#
open (nicht existieren) (nicht existieren) (nicht existieren) Von überall zugänglich
* In Swift3 hinzugefügt
(nicht existieren) (nicht existieren)
public Von überall zugänglich Von überall zugänglich Von überall zugänglich Von überall zugänglich
※ただし別モジュールからの継承とオーバーライドは不可(Swift2まではVon überall zugänglich)
Kann von überall zugegriffen werden Kann von überall zugegriffen werden
package (nicht existieren) (nicht existieren) Zugriff über denselben Rahmen
* Privat außerhalb des Rahmens
(nicht existieren) (nicht existieren) (nicht existieren)
protected Zugriff über Klasse + abgeleitete Klasse im selben Paket 継承したZugriff über Klasse + abgeleitete Klasse im selben Paket Zugriff über dieselbe Klasse + abgeleitete Klasse (nicht existieren) Kann von derselben Klasse + abgeleiteten Klasse aus aufgerufen werden (nicht existieren)
protected internal (nicht existieren) (nicht existieren) (nicht existieren) (nicht existieren) Zugriff über Klasse + abgeleitete Klasse im selben Projekt (nicht existieren)
internal (nicht existieren) Zugriff innerhalb desselben Moduls (nicht existieren) Zugriff innerhalb desselben Moduls Zugriff innerhalb derselben Baugruppe Zugriff innerhalb derselben Baugruppe
fileprivate (nicht existieren) (nicht existieren) (nicht existieren) Kann innerhalb derselben Datei aufgerufen werden
* In Swift3 hinzugefügt
(nicht existieren) (nicht existieren)
private Zugänglich im selben Bereich
* Sie können auch auf die private Variable der inneren Klasse verweisen.
Zugänglich im selben Bereich Zugänglich im selben Bereich Zugänglich im selben Bereich
* Auf bis zu Swift2 kann in derselben Datei zugegriffen werden
Zugänglich im selben Bereich Zugänglich im selben Bereich
Unbestimmt Zugriff innerhalb desselben Pakets Gleich wie öffentlich Gleich wie geschützt Gleich wie intern Gleich wie privat Gleich wie öffentlich
* Bindung binden lassen/do束縛ではGleich wie privat

Es scheint, dass Sie vorsichtig sein müssen, weil die Bewegung, wenn Sie nichts spezifizieren, wunderbar anders ist.

Referenz

Zum ersten Mal Kotlin. Ich habe es mit Java verglichen Zugriffskontrolle von Swift 3 Objective-C-Zugriffsspezifizierer

Recommended Posts

Zusammenfassung der Zugriffsqualifizierer - Entwicklung von Smartphone-Anwendungen (Java / Kotlin / Objective-C / Swift / C # / F #)
Zugriffsmodifikator [Java]
Access Qualifier Summary-JVM-Sprachausgabe (Java / Groovy / Scala / Kotlin)
Greifen Sie über eine Java-Anwendung auf Teradata zu