Accédez au résumé des qualificatifs - Développement d'applications pour smartphone (Java / Kotlin / Objective-C / Swift / C # / F #)

introduction

Un point de confusion lors du développement dans différentes langues est le modificateur d'accès. Cette fois, en tant qu'édition de développement d'applications pour smartphone, nous étudierons chaque qualificatif d'accès pour Java / Kotlin utilisé pour le développement Android, Objective-C / Swift utilisé pour le développement iOS et C # / F # utilisé pour Xamarin, et le résumerons sous forme de tableau de comparaison. Je l'ai essayé.

Tableau de comparaison

Modificateur d'accès Java Kotlin Objective-C Swift C# F#
open (n'existe pas) (n'existe pas) (n'existe pas) Accessible de n'importe où
* Ajouté dans Swift3
(n'existe pas) (n'existe pas)
public Accessible de n'importe où Accessible de n'importe où Accessible de n'importe où Accessible de n'importe où
※ただし別モジュールからの継承とオーバーライドは不可(Swift2まではAccessible de n'importe où)
Accessible de n'importe où Accessible de n'importe où
package (n'existe pas) (n'existe pas) Accessible depuis le même cadre
* Privé hors du cadre
(n'existe pas) (n'existe pas) (n'existe pas)
protected Accessible à partir de la classe + classe dérivée dans le même package 継承したAccessible à partir de la classe + classe dérivée dans le même package Accessible depuis la même classe + classe dérivée (n'existe pas) Accessible depuis la même classe + classe dérivée (n'existe pas)
protected internal (n'existe pas) (n'existe pas) (n'existe pas) (n'existe pas) Accessible depuis la classe + la classe dérivée dans le même projet (n'existe pas)
internal (n'existe pas) Accessible dans le même module (n'existe pas) Accessible dans le même module Accessible dans le même assemblage Accessible dans le même assemblage
fileprivate (n'existe pas) (n'existe pas) (n'existe pas) Peut être consulté dans le même fichier
* Ajouté dans Swift3
(n'existe pas) (n'existe pas)
private Accessible dans le même périmètre
* Vous pouvez également vous référer à la variable privée de la classe interne.
Accessible dans le même périmètre Accessible dans le même périmètre Accessible dans le même périmètre
* Jusqu'à Swift2 est accessible dans le même fichier
Accessible dans le même périmètre Accessible dans le même périmètre
Non précisé Accessible dans le même package Identique au public Identique à protégé Identique à interne Identique à privé Identique au public
* Laissez la liaison/do束縛ではIdentique à privé

Il semble que vous deviez être prudent car le mouvement lorsque vous ne spécifiez rien est merveilleusement différent.

référence

Premier Kotlin. Je l'ai comparé à Java Contrôle d'accès depuis Swift 3 Spécificateur d'accès Objective-C

Recommended Posts

Accédez au résumé des qualificatifs - Développement d'applications pour smartphone (Java / Kotlin / Objective-C / Swift / C # / F #)
Modificateur d'accès [Java]
Accéder au résumé des qualificatifs - Édition du langage JVM (Java / Groovy / Scala / Kotlin)
Accéder à Teradata depuis une application Java