I CSDNブログコラム:HTTPS://blog.csdn.net/yty_7
Githubの住所ます。https://github.com/yot777/Python-Primary-Learning
8.3 プライベート属性とプライベートメソッド
プライベートプロパティ:2つの下線プロパティがプライベートで直接外部クラスを使用したり、アクセスすることができない旨の冒頭に。
プライベートプロパティ構文:__ 属性名
このプロパティクラスのメソッドでは内側に書かれている自己.__ 属性名
プライベートメソッド:2つのアンダースコア先頭には、メソッドがプライベートメソッドとして宣言されている、あなたはクラスの外に呼び出すことはできません。
プライベートメソッドの構文:__ メソッド名
内部クラスは、書き込みのこのメソッドを呼び出している自己.__ メソッド名
Pythonのプライベート例属性:
class Dog:
#公有属性
types = '泰迪'
name = '小黑'
#私有属性
__hair = '棕色'
dog1=Dog()
print(dog1.types)
print(dog1.name)
print(dog1.hair)
运行结果:
泰迪
小黑
Traceback (most recent call last):
File "335.py", line 16, in <module>
print(dog1.hair)
AttributeError: 'Dog' object has no attribute 'hair'
报错原因:dog1对象无法访问Dog类的私有属性hair
あなたはクラスの外でプライベートプロパティにアクセスする必要がある場合は、内部のクラスを使用する必要がセッター私有財産法の値を取得した後、ゲッターメソッドは、プロパティの値、クラス外の最後の呼び出しを返すゲッターメソッドを。
Pythonの例えば私有財産へのアクセス:
class Dog:
#公有属性
types = '泰迪'
name = '小黑'
age = 3
#私有属性
__hair = '棕色'
def set_hair(self): #访问类的私有属性需要定义一个getter/setter函数对
self.__hair='棕色'
def get_hair(self):
return self.__hair
dog1=Dog()
print(dog1.types)
print(dog1.name)
print(dog1.get_hair())
运行结果:
泰迪
小黑
棕色
Java 例えば私有財産へのアクセス:
//Dog类
public class Dog {
public String types = "泰迪";
public String name = "小黑";
public int age = 3;
//私有属性
private String hair = "棕色";
public void setHair(String hair) {
this.hair = hair;
}
public String getHair() {
return hair;
}
}
DogTest类
public class DogTest {
public static void main(String[] args) {
Dog dog1 = new Dog();
System.out.println(dog1.types);
System.out.println(dog1.name);
System.out.println(dog1.getHair());
}
}
运行结果:
泰迪
小黑
棕色
リファレンスチュートリアル:
Pythonのチュートリアルの遼雪峰
https://www.liaoxuefeng.com/wiki/1016959663602400
遼雪峰のJavaチュートリアル
https://www.liaoxuefeng.com/wiki/1252599548343744
python3チュートリアル|チュートリアル新人
https://www.runoob.com/python3/
あなたはBenpianの章では、歓迎の注意をあなたを助けていると感じた場合は、コメント、親指アップ!Githubのは、あなたが、スターをフォロー歓迎します!