atributos y los atributos de clase, métodos de clase, métodos estáticos y método de instancia ejemplo pitón

Las propiedades de clase y de instancia

  • Las propiedades de clase : en Python que se pueden atribuir las clases de acceso directo se puede dividir en pública y privada de clase Atributos Los atributos de clase (como variables miembro estático en Java), acceso directo a la propiedad pública y la propiedad privada tendrán que pasar de métodos get y set de acceso definida (objeto para llamar a los métodos get y set).
  • Ejemplos de atributos : instancia de un objeto (el objeto creado por la clase) Propiedad propiedad no se puede acceder directamente a través del nombre de la clase. Los objetos pueden ser añadidos directamente a las propiedades externos (no se recomienda, debido a las propiedades del objeto deben ser encapsulados dentro de la clase, o es propenso a un número de error implícito), esta propiedad también se conoce como propiedades de la instancia. En general, los atributos de instancia inicializa del método se __init()definen internamente por los parámetros pasados y asignar (método de construcción similar en Java).
  • Debe tenerse en cuenta que las propiedades de la clase de acceso a objetos no afectarán el atributo de clase original, ya que cuando se crea una instancia de un objeto, la asignación de memoria dará un objeto espacial, por lo que las propiedades de esta clase es la clase de objeto para acceder a las propiedades mismas de este espacio (equivalente a una copia), de modo de cambiar el atributo de clase directamente a través del objeto no puede tener un impacto en la clase original.
class people:
   name = "tom"  # 类属性
   __height = 180

   def __init__(self, age):
       self.age = age  # 实例属性
   def getHeight(self):
       return self.__height
   def setHeight(self,height):
       self.__height = height

print("通过类名访问:" + people.name)
p = people(20)
p.name="max"
p.setHeight(190)
print("通过对象访问:%s %d %d"%(p.name,p.age,p.getHeight()))
print("通过类名访问:" + people.name) #p.name="max"并没有影响到原类属性

resultados:
Aquí Insertar imagen Descripción

Los métodos de clase, métodos estáticos y método de instancia

  • Los métodos de clase : Clase Método objeto de propiedad, decorador necesidad @classmethodidentificada, el primer parámetro debe ser un objeto de clase, en general, calcomo el primer parámetro (por supuesto no se puede llamar cal, es sólo un hábito y norma), acceder a través del objeto de instancia y el objeto (el nombre de la clase). método de clase permite que una instancia de objeto para modificar el valor del atributo de clase (ya mencionado anteriormente, una instancia de objeto del valor del atributo de clase no puede ser modificado directamente)
class people:
   name = "tom"  # 类属性
   def __init__(self, age):
       self.age = age  # 实例属性

   @classmethod
   def setName(cls,name):
       cls.name=name

p=people(20)
p.setName("max")
print(people.name)

resultados:
Aquí Insertar imagen Descripción

  • Ejemplos de métodos de : instancia de método de un objeto de propiedad, no pueden acceder a la clase de objeto (no directamente por el nombre de la clase que llama). El primer argumento debe ser una instancia de un objeto, en general, selfcomo el primer parámetro (la misma razón, no se puede llamar self, es sólo un hábito y la norma), sujeto a la llamada con el ejemplo.
class people:
   name = "tom"  # 类属性
   def __init__(self, age):
       self.age = age  # 实例属性
   def showAge(self):
       print("年龄:%d"%(self.age))

p=people(20)
p.showAge()

resultados:
Aquí Insertar imagen Descripción

  • Método estático : necesidad decorador @staticmethod, hay necesidad de definir el parámetro a ser utilizados como una función normal.
class people:
   name = "tom"  # 类属性
   def __init__(self, age):
       self.age = age  # 实例属性

   @staticmethod
   def showAge():
       print("姓名:"+people.name)

people.showAge()
p=people(20)
p.showAge()

resultados:
Aquí Insertar imagen Descripción

Publicado 11 artículos originales · alabanza ganado 16 · vistas 1826

Supongo que te gusta

Origin blog.csdn.net/qq_44204959/article/details/105193797
Recomendado
Clasificación