私有属性
class Father(object):
def __init__(self):
self._name='王三'
self.__money='800元'
def costmoney(self):
#访问私有属性
print(self.__money)
class Son(Father):
pass
if __name__ == '__main__':
A=Father()
A.costmoney()
私有方法
class Father(object):
def __init__(self):
self._name='王三'
self.__money='800元'
def __costmoney(self):
#定义私有属性
print(self.__money)
def costmoney(self):
#调用私有方法
self.__costmoney()
class Son(Father):
pass
if __name__ == '__main__':
A=Father()
A.costmoney()
重写父类的方法
class ChickenSoup(object):
'''祖传的,秘方,爷爷留下来的'''
def __init__(self):
self.name = '爷爷祖传的秘方'
def cookstyle(self):
print("***********这是爷爷的秘方**********")
print('加两斤的鸡,20g的盐,3斤水,熬成一锅')
class Chicken2Soup(ChickenSoup):
'''孙子学到的'''
def cookstyle(self):
# print('加一斤的鸽子,20g的盐,3斤水,熬成一锅,再加上50g糖')
#在爷爷的基础上重写自己的方法
super(Chicken2Soup, self).cookstyle()
#执行父类的方法
#以下2种方法都可以使用
# super().cookstyle()
# ChickenSoup().cookstyle()
print("这是我自己的秘方,hahaha ")
if __name__ == '__main__':
chicken = Chicken2Soup()
chicken.cookstyle()
print(Chicken2Soup.__mro__)
类属性
class Peoson(object):
# 类的属性
name='老王'
age=18
def __init__(self):
'''实例属性'''
self.book = '我的隔壁'
if __name__ == '__main__':
one=Peoson()
print(one.book)#调用实例属性
print(one.name)#通过实例调用类属性
print(Peoson.name)#通过哦类调用类属性
修改类属性
class Peoson(object):
#类的属性
country='中国'
def __init__(self):
'''实例属性'''
self.book='我的隔壁'
self.name='小张'
self.age = 18
if __name__ == '__main__':
print("类属性:",Peoson.country)
zhang = Peoson()
zhang.country='新加坡'#增加了一个实例属性
Peoson.country='南非'#真正修改类属性 类名.属性然后赋值
print("实例调用的类属性",zhang.country)
print("类属性:",Peoson.country)