面向对象实例二

class Baby():
  country = 'China' #类变量,公共的变量,每个实例都可以用
  def my(self):
    self.name = '牛寒阳'
  def cry(self):#实例方法
    print('哇哇哇')

  @property #属性方法,加上后,后置的函数在后面调用不加()时,相当于它里面的返回值,可直接print;注:只能在函数没有参数的情况下
  def hhh(self):
    return 198

  @classmethod
  def xm(cls): #cls代表的就是baby;不用实例化就可以调用
    print(cls.country)
    print('我是类方法')

  @staticmethod #静态方法就是一个普通函数,只不过是写在类里面而已,它用不了类变量、类方法、实例变量、实例方法;静态方法的调用:Baby.xh()
  def xh():
    print('这个是静态方法,它和一个没写在类里面的函数一样')


#1、不实例化,直接用类名调用这个xm的方法
#2、实例化之后,在通过实例化之后的对象调用xm方法,看看可以不
# 你不想实例化的时候,就可以定义成类方法
# 静态方法就是一个普通函数,只不过是写在类里面而已,它用不了类变量、类方法、实例变量、实例方法
# 静态方法的调用:Baby.xh()

# Baby.country='USA' #类变量是可以直接通过类名.xxx来进行修改的。
#
# dcg = Baby()
# # dcg.country = 'Japan'
# print(dcg.country)
# yjt = Baby()
# print(yjt.country)

# b = Baby()
# print(b.hhh)

# dcg = Baby('春光')
# print('董春光的内存的',id(dcg))
# zll = Baby('张流量')
# print('董春光的内存的',id(zll))

猜你喜欢

转载自www.cnblogs.com/lynn-chen/p/9088694.html