代码拉取完成,页面将自动刷新
同步操作将从 prayjourney/CS-Java-LearnNotes 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-
"""
用来测试Python之中的私有和公有方法和变量的特性
由如下的测试可以得知
_xxx:单下划线的方法,变量等,可以被子类访问,它相当于是protected类型
__xxx:双下划线的方法,变量等,不可以可以被子类访问,而且不可以在类定义之外访问,它相当于是private类型的
"""
class PrivateAndPublic():
_name = "zuiguangyin" # 弱内部使用,protected
_age = 24 # 弱内部使用,protected
__address = "重庆" # 私有变量,private
__nickname = "最光阴" # 私有变量,private
def __init__(self, dream):
self.dream = dream
# 私有方法
def _set(self, name, age, address, nickname):
self._name = name
self._age = age
self.__address = address
self.__nickname = nickname
def _get(self):
self.__get() # 只能在内部调用
def __get(self):
print("private method: " + self._name + "," + str(
self._age) + "," + self.__address + "," + self.__nickname + ",")
def print1(self):
print(self._name + "," + str(self._age) + "," + self.__address + "," + self.__nickname + ",")
def print2(self):
print(self.dream)
class PrivateAndPublicChild(PrivateAndPublic):
def __init__(self, dream, timeline):
super().__init__(dream)
self.timeline = timeline
def print2(self):
print(self.dream + ", " + self.timeline)
if __name__ == "__main__":
# 父类
print("======" + "父类")
private_and_public = PrivateAndPublic("have a good life")
print(private_and_public.dream) # 访问成员变量
private_and_public.print1() # 访问成员方法
private_and_public._set("张三", 25, "广州", "狗蛋") # 访问私有方法
private_and_public._get()
# private_and_public.__get() # 无法直接调用
private_and_public.print1()
private_and_public.print2()
# 子类
print("======" + "子类")
private_and_public_child = PrivateAndPublicChild("become a great man", "10")
private_and_public_child.print1() # 这是父类的效果
private_and_public_child.print2() # 访问重写的后的方法
PrivateAndPublic.print1(private_and_public_child) # 调用父类方法
private_and_public_child._get()
# private_and_public_child.__get() # 无法直接调用
print(private_and_public_child.timeline)
print(private_and_public_child._name)
# print(private_and_public_child.__nickname) # 无法直接调用
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。