Klasse gegen öffentliche Klasse
Was ist der Unterschied zwischen:
namespace Library{
class File{
//code inside it
}
}
und:
namespace Library{
public class File{
//code inside it
}
}
Also, was wird der Unterschied zwischen public class und Klasse?
Kommentar zu dem Problem
Es ist wie eine Regierung, die Körper halten nuclear launch codes Geheimnis, gegen das tragen von einem T-shirt, das die Start-codes auf.
Beachten Sie, dass es gute Praxis, immer add Zugriffsbezeichner, anstatt sich auf die Sprache Standardeinstellungen. Dies hilft Fällen, in denen die Menschen nicht wissen, was es ist, kann mich nicht erinnern, glauben fälschlicherweise, dass es ist etwas, das nicht korrekt ist, glauben, dass Sie einfach nur vergessen hinzuzufügen (und fügen Sie etwas anderes als die Standardeinstellung), etc. Es braucht so wenig Aufwand, und es wirklich hilft, die Lesbarkeit zu verbessern.
@ChaosPandion ich weiß nicht, ich bin sicher, irgendwo gibt es noch ein t-shirt mit "000" auf Sie geschrieben. (Das war eigentlich mal der code, um eine Ebene der Sicherheit auf der US-Rakete gestartet, obwohl nur eine Ebene, die meisten Leute dachten, war zwecklos).
InformationsquelleAutor der Frage | 2012-09-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ohne Angabe
public
die Klasse ist implizitinternal
. Dies bedeutet, dass die Klasse nur sichtbar innerhalb der gleichen assembly. Wenn Sie angeben, dasspublic
die Klasse sichtbar ist, außerhalb der assembly.Es ist auch erlaubt, geben Sie die
internal
modifier explizit:InformationsquelleAutor der Antwort driis
Ersteres ist äquivalent zu:
Alle Sichtbarkeiten Standard, um die am wenigsten sichtbare möglich -
private
für die Mitglieder derclass
es undstruct
s (Methoden, Eigenschaften, Felder, verschachtelte Klassen und geschachtelteenum
s) undinternal
für direkte Mitglieder dernamespace
s, weil Sie nicht privat sind.internal
bedeutet code in der gleichen assembly kann es sehen, aber sonst nichts (außer der Freund Baugruppen und der Einsatz von Reflexion).Dies macht Sinn, aus zwei Gründen:
public
Sie könnten versehentlich etwas öffentlich zugänglich machen, sollten private oder interne. Wenn Sie aus versehen etwas, das nicht sichtbar genug, Sie bekommen eine offensichtliche kompilieren Fehler und beheben es. Wenn Sie aus versehen etwas zu sehen, die Sie einführen einen Fehler im code, die nicht gekennzeichnet werden als ein Fehler, und wird eine bedeutende änderung zu beheben, später.Es ist oft als besser Stil explizit mit Ihrem zugriffsmodifizierer, klarer zu werden in den code, was gerade Los ist.
InformationsquelleAutor der Antwort Jon Hanna
Standardmäßig alle
class
es (und alle Arten für diese Angelegenheit) sindinternal
ein, damit Sie von außen zugänglich sein (sans Sachen wieInternalsVisibleToAttribute
) Sie haben, um Siepublic
ausdrücklich.InformationsquelleAutor der Antwort Anton Gogolev