...
close

Cookie-Einstellungen

Zulassen:

 

Infos/Erklärung
Gemäß Ihrem Recht auf informierte Selbstbestimmung.

Konto löschen

Damit wir unseren Service verbessern können, würden wir uns über die Angabe eines Grundes freuen.
Vielen Dank!



Abbrechen

Besser wissen durch Nachhilfe: Wissensfragen

Hier kannst Du eine Wissensfrage zu einem Thema stellen, das Dich interessiert.
Die Fragen und die Antworten darauf werden hier veröffentlicht und evtl. zusätzlich an interessierte Benutzer (Nachhilfelehrer/innen) weitergeleitet.

Die Fragen sollten eher allgemeiner Natur sein, z.B. : "Ich will eine chinesische Sprache lernen. Mandarin oder Kantonesisch?", oder: "Vor Klausuren bin ich immer sehr nervös und bin schnell blockiert, obwohl ich vorbereitet bin - was kann ich tun?"

Alle Fragen & Antworten werden moderiert. Unangebrachte oder unhöfliche Beiträge, Links zu anderen Webseiten o.ä. werden gelöscht. Achtung: hier gibt es keinen Kundenservice.
Dieser Service soll keinen Unterricht ersetzen.

OOP und Statische Klassen und Variablen

Ich bin neu in Sachen Objektorientierter Programmierung, .. was sind statische Klassen, Funktionen, oder statische Variablen? (static) - ich kenne mich bisher eher mit prozeduraler Programmierung aus und komme mit den bisherigen Erklärungen noch nicht so ganz klar.
OOP, statische Variablen, statische Klassen
Datum: 17.02.2019 20:59, Benutzer 26884Antwort:

Kurz, aber nicht exakt: Statische Klassen-"member" werden von allen Objektinstanzen geteilt (shared), während alle nicht-statischen Member nur innerhalb (genau) einer Objektinstanz existieren.

Langversion: Eine Klasse definiert normalerweise einen Objekttyp, bestehend aus Konstanten, Eigenschaften (Variablen) und Methoden (Funktionen). Ziel ist dabei meist, eine oder mehrere unabhängige "Instanzen" dieser Klasse bzw. dieses Objekttyps zu generieren, eben die Objektinstanzen; (ähnlich, als würde man mehrere Variablen desselben Datentyps erstellen). Dabei erhält jede Objektinstanz ihren eigenen "Satz" an Objektvariablen, die nur in dieser Instanz existieren. Statische Klassenvariablen sind jedoch nicht Teil der Objektinstanz, sondern sind an die Klasse selbst gebunden. Ändert eine Objektinstanz den Wert einer statischen Klassenvariablen, dann betrifft dies die Klasse an sich und letztlich auch alle anderen Instanzen dieser Klasse, die auf diese statische Variable zugreifen. Statische Klassen-Funktionen können direkt aufgerufen werden, ohne eine Instanz zu benutzen, nicht-statische Objektmethoden dagegen nicht, deren Aufruf kann nur über das jeweilige instanzierte Objekt erfolgen. Statische Methoden und Eigenschaften werden oft dazu verwendet, um die Instanzen einer Klasse selbst zu kontrollieren. Manchmal ist es z.B. wünschenswert, das maximal eine Objektinstanz existiert, und beim Versuch, neue Instanzen zu erzeugen stattdessen die bereits bestehende Instanz Verwendung findet (das sogenannte "Singleton" Entwurfsmuster). Oder es soll einfach die Anzahl an Instanzen gewählt werden. In beiden Fällen benötigt man statische member.

+ 1 weitere Antworten:
Datum: 17.02.2019 15:33, Benutzer: 300866Eine Funktion ist einfach eine kleine Methode/Prozedur innerhalb eines Objektes die etwas durchführt, sprich ein Unterprogramm aber halt auch nur da nutzbar.
Bei "static" ist es so das das eine ähnliche Form ist wie "global", so eine Variable gilt dann für alle Objekte einer Klasse. Andere Variablen gelten nur innerhalb einer Instanz.
z.B. Ich habe eine Klasse "Tier" mit einer Unterklasse "Hund", in dieser sind 2 Variablen "Farbe" normal(static) und "Größe"(normal) wenn ich jetzt 2 Instanzen Waldi und Bello bilde, hätte jede Instanz eine eigene "Größe" aber die "Farbe" gilt für alle. Sollte ich noch eine Unterklasse "Katze" haben ist aber auch hier "Farbe" nicht sichtbar. Setzt sich dann eben mit allen Elementen fort.
Aktion: antworten

Die Frage:

 
Weitere Fragen: 40










Nachhilfe | Nachhilfelehrer | Nachhilfevermittlung | Gesuch aufgeben |  EF Familie Unternehmsnetzwerk Erfolgsfaktor Familie
Merkzettel ()