Übersicht
Objektorientierte Programmiersprache ist eine Simulation der objektiven Welt. In der objektiven Welt sind Mitgliedsvariablen im Objekt verborgen . Es kann nicht direkt manipuliert oder geändert werden. Die Kapselung kann als Schutzbarriere betrachtet werden, die verhindert, dass andere Klassen frei auf den Code und die Daten der Klasse zugreifen können. Um auf die Daten dieser Klasse zuzugreifen, müssen Sie die Methode angeben.
Eine ordnungsgemäße Kapselung kann das Verständnis und die Wartung des Codes erleichtern und außerdem die Sicherheit des Codes erhöhen.
Prinzip
Attribute ausblenden Wenn Sie auf ein Attribut zugreifen müssen, stellen Sie öffentliche Methoden bereit, um darauf zuzugreifen.
Kapselungsschritte
Verwenden Sie das private Schlüsselwort, um Mitgliedsvariablen zu ändern.
Für Mitgliedsvariablen, auf die zugegriffen werden muss, stellen Sie ein entsprechendes Paar getXxx-Methoden und setXxx-Methoden bereit.
Empfehlung für Java-Lernvideos: Java-Online-Tutorial
Gekapselte Operation – privates Schlüsselwort
Die Bedeutung von privat:
Private ist ein Berechtigungsmodifikator, der die Mindestberechtigung darstellt. Er kann Mitgliedsvariablen und Mitgliedsmethoden ändern, auf die nur in dieser Klasse zugegriffen werden kann.
Verwendungsformat von privat
private 数据类型 变量名 ;
Verwenden Sie privat, um Mitgliedsvariablen zu ändern. Der Code lautet wie folgt:
Stellen Sie die getXxx-Methode / setXxx-Methode bereit, Sie können auf Mitgliedsvariablen zugreifen. Der Code lautet wie folgt:
Kapselungsoptimierung 1 - dieses Schlüsselwort
Wir haben festgestellt, dass der Name des formalen Parameters in der setXxx-Methode nicht den Anforderungen entspricht, die Bedeutung durch das Sehen des Namens zu erkennen. Wenn die Änderung also mit dem Namen der Mitgliedsvariablen übereinstimmt, Wird es unter dem Namen bekannt sein? Der Code lautet wie folgt:
Nach der Änderung und dem Test haben wir ein neues Problem festgestellt: Die Zuweisung der Mitgliedsvariablen ist fehlgeschlagen. Mit anderen Worten: Nach dem Ändern des formalen Parametervariablennamens von setXxx () weist die Methode der Mitgliedsvariablen keinen Wert zu! Dies liegt daran, dass der Name der formalen Parametervariablen denselben Namen hat wie der Name der Mitgliedsvariablen, wodurch der Name der Mitgliedsvariablen ausgeblendet wird. Der Variablenname in der Methode kann nicht auf die Mitgliedsvariable zugreifen, sodass die Zuweisung fehlschlägt. Daher können wir nur das Schlüsselwort this verwenden, um dieses Problem mit doppelten Namen zu lösen.
Die Bedeutung davon
Dies stellt die Referenz (Adresswert) des aktuellen Objekts der Klasse dar, dh die Referenz des Objekts selbst.
Denken Sie daran: Auf welches Objekt die Methode aufgerufen wird, dies in der Methode repräsentiert dieses Objekt. Das heißt, wer auch immer anruft, dies repräsentiert.
dieses Format:
this.成员变量名;
Tipp: Wenn in der Methode nur ein Variablenname vorhanden ist, wird dieser standardmäßig ebenfalls geändert und kann geändert werden weggelassen.
Kapselungsoptimierung 2 – Konstruktor
Wenn ein Objekt erstellt wird, wird der Konstruktor verwendet, um das Objekt zu initialisieren und den Mitgliedsvariablen Anfangswerte zuzuweisen des Objektwertes.
Tipp: Unabhängig davon, ob Sie den Konstruktor anpassen oder nicht, verfügen alle Klassen über Konstruktoren, da Java automatisch einen Konstruktor ohne Parameter bereitstellt scheitern.
Format der Definition der Konstruktormethode:
In der Schreibweise der Konstruktormethode wird der Methodenname angegeben und sein Standort. Die Klassennamen sind gleich. Es hat keinen Rückgabewert, daher ist kein Rückgabetyp erforderlich, nicht einmal void. Nach Verwendung der Konstruktormethode lautet der Code wie folgt:
Hinweis:
Wenn Sie keine Konstruktormethode angeben, Das System gibt keine Parameterkonstruktionsmethode an.
Wenn Sie einen Konstruktor bereitstellen, stellt das System keinen parameterlosen Konstruktor mehr bereit.
Konstruktormethoden können überladen sein und Parameter können definiert werden oder nicht.
标准代码——JavaBean
JavaBean 是 Java语言编写类的一种标准规范。符合 JavaBean 的类,要求类必须是具体的和公共的,并且具有无 参数的构造方法,提供用来操作成员变量的 set 和 get 方法。
编写符合 JavaBean 规范的类,以学生类为例,标准代码如下:
测试类,代码如下:
public class TestStudent { public static void main(String[] args) { //无参构造使用 Student s= new Student(); s.setName(" 柳 岩 "); s.setAge(18); System.out.println(s.getName()+"‐‐‐"+s.getAge()); //带参构造使用 Student s2= new Student(" 赵 丽 颖 ",18); System.out.println(s2.getName()+"‐‐‐"+s2.getAge()); } }
推荐相关文章教程:java语言入门
Das obige ist der detaillierte Inhalt vonJava objektorientiert – Kapselung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!