class Student():
def init(self, name, age, gender):
self.name = name
self.age = age
self.__gender = gender
def getGender(self):
return self.__gender
def setGender(self, gender):
self.__gender = gender
def __test(self):
print(“这是私有方法”)
student = Student(“尼古拉斯赵四”, 18, “男”)
print(student.name, student.age)
#私有属性,无法正常读取
print(student.__gender)
#私有属性,只能通过方法得到
print(student.getGender())
#私有方法,无法正常使用
print(student.__test)
#即使通过其他方法得到的也只是内存地址
print(student._Student__test)
—————————————————————————————————
class Person():
def init(self, name, age,gender):
self.name = name
self.age = age
self.gender = gender
def sleep(self):
print(“每个人都会睡”)
class Child(Person):
def eat(self):
print(“吃饱就睡,睡饱就吃”)
def sleep(self):
print(“我就特别喜欢睡”)
child = Child(“尼古拉斯赵四”, 18, “男”)
print(child.name, child.age, child.gender)
child.eat()
child.sleep()
—————————————————————————————————
class Person():
def init(self, name, gender):
self.name = name
self.gender = gender
class Child(Person):
def init(self, name, gender, age):
super(Child, self).init(name, gender)
self.age = age
class Aged(Person):
def init(self, name, gender, age):
super().init(name, gender)
self.age = age
child = Child(“尼古拉斯赵四”, “男”, 18)
#super 使用父类的属性
#super(本类,self).init(继承父类的属性)
#self.本类独有的属性
print(child.name, child.gender, child.age)
aged = Aged(“尼古拉斯凯奇”, “男”, 88)
#super 使用父类的属性
#super().init(继承父类的属性)
#self.本类独特的属性
print(aged.name, aged.gender, aged.age)
—————————————————————————————————
多继承:
class A():
def init(self, name):
self.name = name
class B():
def init(self, gender):
self.gender = gender
#顺序查找,只找一个父类
class C(A, B):
def init(self, name, gender, age):
super().init(name)
self.gender = gender
self.age = age
class D( c):
def init(self, name, gender, age):
super().init(name, gender, age)
c = C(“尼古拉斯赵四”, “男”, 18)
print(c.name, c.gender, c.age)
#查看直接父类
print(C.bases)
#查看所有父类
print(C.mro)
—————————————————————————————————
class A():
def eat(self):
print(“我超喜欢吃”)
class B():
def init(self, name, age):
self.name = name
self.age = age
#多继承中,顺序查找,找不到的情况下才找下一个父类
class C(A,B):
def init(self, name, age, gender):
super().init(name, age)
self.gender = gender
c = C(“尼古拉斯赵四”, 18, “男”)
print(c.name, c.age, c.gender)
c.eat()