• 面向对象之成员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)

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

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

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

      私有方法  

  • 相关阅读:
    生成缩略图时报GDI+中发生一般性错误
    跨数据库服务器查询和跨表更新
    javascript,jquery(闭包概念)
    聚集索引和非聚集索引(整理)
    ASP.NET MVC的过滤器
    如何在标题栏title前添加网站logo?
    sql语句执行顺序
    详解ASP.NET MVC的请求生命周期
    在事务中执行批量复制操作SqlBulkCopy,SqlTransaction .
    基于TCP 协议的RPC
  • 原文地址:https://www.cnblogs.com/doit9825/p/13171322.html
Copyright © 2020-2023  润新知