Wenn man kein public schreibt, ist es dann immer private?

2 Antworten

Wenn man keinen Zugriffsmodifikator angibt, ist es abhängig vom Sprachelement.

Top-Level-Typen sind beispielsweise internal. So wären diese beiden Code-Snippets im Wirken gleich.

A:

namespace MyProject
{
  class SomeClass
  {
  }
}

B:

namespace MyProject
{
  internal class SomeClass
  {
  }
}

Bei geschachtelten Elementen verhält es sich anders. So sind Properties und Felder für Klassen standardmäßig private.

Eine genaue Übersicht dazu findest du auf dieser Seite in der zweiten Tabelle.

Kommt auf die programmiersprache an.

In C# ist der default wenn man keinen angibt "internal". Internal heißt man kann in der gleichen assembly drauf zugreifen.

Java hat einen speziellen default access modifier dafür. Den kann man glaube ich garnicht manuell angeben.

In python is public der default, und private funktionen markiert man mit zwei unterstrichen am anfang und ende.

Um ein paar beispiele zu nennen.