? Objektorientierte Programmiersprachen ihre Namen aus ihrer Fähigkeit, Klassen oder Vorlagen erstellen , um komplexe Datenstrukturen zu modellieren. Statt der Aufnahme einer dieser Datenstrukturen , ein Programmierer einfach instanziiert weitere Instanz der Klasse schuf er , als ein " Objekt " oder Instanz. Klassen , deren Daten geändert werden können sind veränderlich, genannt, während Klassen, deren Daten können nicht geändert werden, nachdem sie deklariert werden , wird als unveränderliche Klasse . Klassenkonstruktoren
Ein wesentlicher Bestandteil einer Klasse sein " constructor " genannt. Dies ist eine Funktion, die die Programmiersprache , wenn es ein neues Objekt aus dieser Klasse erstellt aufruft. Programmierer verwenden diese Funktion , um die ursprünglichen Werte für die Variablen für diese Instanz der Klasse gesetzt . Diese sind entweder Werte , dass der Programmierer definiert sich innerhalb des Konstruktors selbst, oder sind Werte, die der Programmierer als Parameter Argumente übergibt . Wenn die Werte , die speziell im Konstruktor definiert werden , dann werden diese Werte sind die gleichen für jede Instanz der Klasse. Allerdings, wenn die Werte in als Parameter Argumente übergeben werden, dann werden die Werte unterscheiden sich von Fall zu Fall .
Öffentlichen und geschützten
Ein Merkmal von Klassen ist ihre Fähigkeit, kapseln Daten: Variablen innerhalb eines bestimmten Objekts zu diesem Objekt gehören. Diese Variablen haben unterschiedliche Sicherheitsstufen , wie der Programmierer sie modifiziert definieren . Klasse Variablen erklärt der Programmierer als "öffentlich" zugänglich sind vom Hauptprogramm einfach durch Verweis auf die Variable. Auf diese Weise , das Hauptprogramm direkt liest oder ändert diese Variablen . Wenn Variablen werden als " geschützt ", dann werden sie nur durch den Aufruf von Funktionen innerhalb der Klasse selbst modifiziert , Methoden genannt , dass die Programmierer variable Werte zurückgeben oder ändern sie schreibt .
Mutable klassifiziert und Immutable
Ein Programmierer legt fest, ob seine Klasse veränderlich oder unveränderlich sein wird , indem er seine Klasse entweder erlauben dem Programmierer, seine Variablen ändern , wenn er ein Objekt oder nicht initialisiert . Wenn der Programmierer definiert die Klassen-Variablen als "geschützt " und schreibt keine Klasse Methoden Variablen ändern , wird die Klasse unveränderlich , weil es keinen Weg, die Variablen zu ändern, nachdem sie instanziiert wird. Mutable Klassen sind solche, bei denen die Variablen sind entweder öffentliche oder der Programmierer liefert Methoden, die Werte der Variablen ändern.
Beispiele
Während unveränderliche Klassen kann wie ein Ärgernis für Anfänger scheinen Programmierer , da sie vorher in Kompetenz und Komplexität des Projekts kommen sie , um zu sehen , dass unveränderliche Klassen eine Reihe von praktischen Nutzen haben . Wenn unveränderliche Klassen verwendet werden, um Werte wie der Python Tupel zu speichern, kann die Tatsache, dass der Programmierer muss nicht über den Inhalt , die geändert Sorgen sie angeforderten Werte schneller zurück. Darüber hinaus sind unveränderliche Klassen nützlich für Library-Funktion , in der die Integrität von variablen Werten ist entscheidend für eine korrekte Funktionsweise des Programms .