01-隐藏属性
Class Dog:
pass
def set_age(self):
pass
def get_age(self):
pass
dog = Dog()
dog.age = -10 //有一定的风险
dog.set_age(XXX)
dog.get_age(XXX)
02-私有方法
Class Dog:
'''__这样的成为私有方法 改方法重要,在类本身使用'''
def __test1(self):
pass
def test2(self,aa):
if aa > 1000:
self.__test()
else:
pass
dog = Dog()
dog.test2(1000)
03-__del__方法
Class Dog:
''' 当对象被释放前调用
def __del__(self):
print("+++++++++")
dog1 = Dog()
dog2 = dog1
del dog1
del dog2
print("=======")
04-测量对象的引用个数
Import sys
sys.getrefcount(XX) 比实际多一个
05-继承
class Animal:
def eat(self):
print("--吃--")
def drink(self):
print("--喝--")
def sleep(self):
print("--睡觉--")
def run(self):
print("--跑--")
class Dog(Animal):
def bark(self):
print("--汪汪叫--")
08-调用被重写的方法
class Animal:
def eat(self):
print("--吃--")
def drink(self):
print("--喝--")
def sleep(self):
print("--睡觉--")
def run(self):
print("--跑--")
def bark(self):
print("--汪汪叫--")
class Dog(Animal):
def bark(self):
print("--狂叫--")
#方法1 父类的名字 写上被重写的名字
Animal.bark(self)
#方法2
super().bark()
09-私有方法、私有属性在继承中的表现
私有方法,不会被继承
私有属性不会被继承
- 多继承
object 最顶层的类
class 类名称(父类,...)
- 多继承-注意点
类名.__mro__ 决定着类继承的顺序
- 多态
- 实例方法、类方法、静态方法
class Game(object):
#类属性
num = 0
#实例方法
def __init__(self):
#实例属性
self.name= 'laowang'
#类方法 --装饰器
@classmethod
def add_num(cls):
cls.num = 100
#静态方法
@staticmethod
def print_menu():
print("--11-----")
print("--11-----")
game = Game()
#Game.add_num()#使用类调用方法
game.add_num()#使用创建的对象调用方法
print(Game.num)
调用静态方法
#Game.print_menu() #使用类名去调用方法名称
game.print_menu() #使用对象去调用方法