同步操作将从 prayjourney/CS-Java-LearnNotes 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-"""用来测试Python之中的私有和公有方法和变量的特性由如下的测试可以得知_xxx:单下划线的方法,变量等,可以被子类访问,它相当于是protected类型__xxx:双下划线的方法,变量等,不可以可以被子类访问,而且不可以在类定义之外访问,它相当于是private类型的"""class PrivateAndPublic():_name = "zuiguangyin" # 弱内部使用,protected_age = 24 # 弱内部使用,protected__address = "重庆" # 私有变量,private__nickname = "最光阴" # 私有变量,privatedef __init__(self, dream):self.dream = dream# 私有方法def _set(self, name, age, address, nickname):self._name = nameself._age = ageself.__address = addressself.__nickname = nicknamedef _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 = timelinedef 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) # 无法直接调用
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。