面向对象之成员1

成员:在类中写的内容。

变量、方法、属性

变量:

  实例变量(字段)  用对象.方法  访问   

  类变量(静态变量) 在这个类中共有的。  用类名访问

    如   我们定义的人这一类,默认我们的国家的是'中国',这个属性就可以用类变量。

class Person:
    # 类变量
    wuxia = '金庸武侠'
    
    # name、age。。。实例变量
    def __init__(self, name, age, hobby, ability):
        self.name = name
        self.age = age
        self.hobby = hobby
        self.ability = ability

 

方法:

  成员方法(实例方法)

  静态方法 不需要我们给⽅方法传递self. 也就是说. 当出现⼀个方法不需要使用到成员变量的时候. 就可以选择使⽤用静态方法  

        在方法上面加入@staticmethod

@staticmethod
    def diyir():
        print('石破天')

  类方法   

      类方法和静态方法差不多, 只不过类方法需要在参数列列表中的第一个位置预留一个位置,

      通常我们给第一个参数起名字叫cls. 类方法在被调用的时候也不需要传递实例对象.   

      但是. 系统自动的把类传递给第⼀个参数. 类方法在编写的时候, 需要在类方法上面添加@classmethod

class Person:
    def wugong(self):
        return self.ability

    @staticmethod
    def diyir():
        print('石破天')

    @classmethod
    def cal(cls, a, b):
        print(cls)
        return a+b
print(Person.cal(5,3))

运行结果

 8

就相当于类里面的函数啦。

 

属性:

  通过方法改造过来的一种变量的写法, 在方法上添加⼀一个@property就可以了

class Person:
  def __init__(self):
    pass
  @property
  def age(self):
    return 1
p = Person()
age = p.age
print(age)

 

私有:只能在自己类中访问,子类或者外面都无法访问到。

语法:在变量或者方法前面加入两个下划线__即可。

  私有变量  直接访问不到的,但可以通过调用公有的方法来访问私有的内容。

  私有方法  

posted @ 2020-06-21 07:57  咕咕咕de小迷弟  阅读(94)  评论(0编辑  收藏  举报