美文网首页
类和对象

类和对象

作者: 丫丫姑娘_b55e | 来源:发表于2018-06-30 15:34 被阅读0次
  • 私有属性:属性名以两个下划线开头
假的私有属性

//实际开发中,声明类的属性,很少会使用真正的私有属性和公开属性(前面加两个下滑线的)。

实际对属性的要求:1.可以通过点语法方便的来给属性赋值或者拿到它的值(不能是私有的)
假的私有属性满足要求: 就使用假的私有属性 + getter和sette

  1. 声明私有属性,属性名前加一个下划线(这个是规范,不是语法:带一个下划线的属性,不要直接通过一个下划线对应的属性名去访问这个属性)
  2. 通过给属性添加getter和setter来限制赋值和获取值的过程
    a. 添加getter: --> 限制获取属性值的操作
    b. getter的作用:返回属性的值
  • 添加getter

     @property
     def 属性名去掉下划线(self):
     其他任何操作
     return self.带下划线的属性名
    
  • 添加setter

    @属性名去掉下划线.setter
    def 属性名去掉下划线(self, 参数):
    其他任何操作
    self.带下划线的属性名 = 参数
    
  1. 在类的外部通过不带下划线的属性去获取属性的值,或者给属性赋值
    示例一:

     class Person
     def _ _init _ _(self, name=' ' ,age=0) :
       self.name = name
       self.age = age
     #给name属性添加getter
     @property
     def name(self):
       if len(self.name) == 0:
         return '空'
       return self.name
       #给name属性添加setter
     @name.setter
     def name(self, name1) :
       if isinstance(name1, str):
         self.name = name1
     p1 = Person(' 小明')
    

//getter一般要添加,setter一般不用写
//如果要添加setter必须添加getter

类字段和类方法

1.类字段就是类属性:通过类去获取
类字段是声明在类里面,函数外面的变量

class Person:
"""人类"""
# 这个person_num就是一个类字段
person_num = 0

2.类方法:通过类去调用
开发中怎么确定 声明 方法是对象方法还是类方法:看实现的功能是否需要对象属性来支持,如果需要就必须声明称对象方法

@classmethod来说明下面的函数是一个类方法 --> 函数修饰符
# 所有的类方法都有一个默认参数cls,这个参数不需要传参,系统会自动将调用方法的类传给它(谁调用指向谁)

@classmethod
def hurt_earth(cls):
    print(cls)
    print('人类伤害破坏环境,伤害地球', Person.person_num, cls.person_num)

//类字段要用类去使用
print(Person.person_num)
//通过Person类调用类方法
Person.hurt_earth()
print(Person)

  • 静态函数:在类中声明,由类来调用的方法

    class Math:
      """数学类"""
      #multiply就是一个静态方法
      @staticmethod
      def multiply(num1, num2):
      return num1 * num2
    

静态方法需要使用类来调用
print(Math.multiply(10, 4))
示例二:静态方法和类方法的区别
静态方法和类方法都是通过类去调用

区别:

  1. 类方法都有一个默认参数cls指向调用方法的类,但是静态方法没有
  2. 类型不一样,静态方法的类型是function,类方法的类型是method

相关文章

  • 对象、类对象和元类对象

    http://www.tuicool.com/articles/mmyuUr http://blog.csdn.n...

  • python 类和对象

    类和对象 目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的...

  • 类,类对象和实例对象

    Python 的类定义写完之后就成了一个类对象,而引用这个类对象的就是实例对象。 类中定义的属性和方法都是静态属性...

  • 面相对象-02类和对象

    类和对象 目标 ●类和对象的概念●类和对象的关系●类的设计 01.类和对象的概念 类和对象是面向对象编程的两个核心...

  • python语法入门五

    类和对象 类和对象 基础 继承:python为多继承 类、类对象和实例对象 当实例对象声明后,再删除类对象,那么该...

  • 13.Python类和对象

    目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核...

  • 12.Python类和对象

    目标 类和对象的概念 类和对象的关系 类的设计 01. 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核...

  • 类和对象 ​​​

  • 类和对象

    对象=属性+方法 self 由同一个类可以生成无数对象,当一个对象的方法被调用是,对象会将自身的引用作为第一个参数...

  • 类和对象

    对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对...

网友评论

      本文标题:类和对象

      本文链接:https://www.haomeiwen.com/subject/hppiyftx.html