# -*- coding: utf-8 -*-
#---------------------------------------------------------------------------
class Person(object):
def Work():
print(" I am working!")
@classmethod #第一种方法:加装饰器方法
print(b,",I am Thinking!")
def Eat(cls,b): #属于第二种方法,先定义类方法,至少1个参数,第一个默认为类名。
print(b+",I am eating")
Eat=classmethod(Eat) #第二种方法:引用Eat方法,然后加上classmethod转换即可。
def __scolia__(self): #这种方法是:实例对象调用方法。
print("scola")
return "scola"
@staticmethod #第三种方法:利用静态方法方式,引用时直接用类名.Sleep()即可。
def Sleep():
print("I am sleeping")
def __good(self): #实例对象可以访问的私有方法,在类方法中可以相互调用和使用。类不能直接访问或者外部访问。
print("good")
return "good"
a=Person()
Person.Think("jin")
Person.Eat("jcy")
Person.Work() #直接不带参数self就可以实现
Person.Sleep()
a.__scolia__() #魔术方法,没有私有化。
#a.__good() #私有方法:报错了!
#---------------------------------------------------------------------------
class Person(object):
def Work():
print(" I am working!")
@classmethod #第一种方法:加装饰器方法
def Think(cls,b): #类方法Think必须要带至少1个参数,第一个参数默认为类名,后面可以引用。
cls.Eat(b) #在类方法Think中,调用类方法Eat类方法。
cls.Work() #在类方法Think中,调用类方法Work类方法(不加任何参数直接定义,也是类方法)。print(b,",I am Thinking!")
def Eat(cls,b): #属于第二种方法,先定义类方法,至少1个参数,第一个默认为类名。
print(b+",I am eating")
Eat=classmethod(Eat) #第二种方法:引用Eat方法,然后加上classmethod转换即可。
def __scolia__(self): #这种方法是:实例对象调用方法。
print("scola")
return "scola"
@staticmethod #第三种方法:利用静态方法方式,引用时直接用类名.Sleep()即可。
def Sleep():
print("I am sleeping")
def __good(self): #实例对象可以访问的私有方法,在类方法中可以相互调用和使用。类不能直接访问或者外部访问。
print("good")
return "good"
a=Person()
Person.Think("jin")
Person.Eat("jcy")
Person.Work() #直接不带参数self就可以实现
Person.Sleep()
a.__scolia__() #魔术方法,没有私有化。
#a.__good() #私有方法:报错了!