Aprendizagem da gramática básica do Python - classe


prefácio

O conteúdo de aprendizagem desta vez é principalmente aulas orientadas a objetos.


1. Crie e use classes

A seguir está uma definição simples de uma classe: não há parênteses depois de Dog, indicando que esta classe não herda de outras classes e é criada do zero.

>>> class Dog:
	def __init__(self,name,age):
		self.name = name
		self.age = age
	def sit(self):
		print("{name} is sit".format(name = self.name))

O método __init__() é um método mágico. Existem três parâmetros formais neste método, self, nome, idade, entre os quais self não pode faltar, pois ao chamar esta classe para criar uma instância, o método init será chamado automaticamente, e então o parâmetro real self é passado automaticamente, e cada chamada de método relacionada à instância passará automaticamente o parâmetro real self, que é uma referência à própria instância, permitindo que a instância acesse as propriedades e métodos na classe.

O método sit() é um método comum com apenas um parâmetro formal self, indicando que a instância criada pode chamar este método.

dog_1 = Dog('deng',18)
dog_1.sit()

O acima é para criar uma instância dog_1 da classe Dog e passar apenas dois parâmetros reais nome e idade, e self será passado automaticamente. Em seguida, chame o método sit()

Às vezes também é possível especificar um valor padrão para algumas propriedades.
Por exemplo

>>> class Dog:
	def __init__(self,name,age):
		self.name = name
		self.age = age
		self.number = 100
	def sit(self):
		print("{name} is sit".format(name = self.name))

>>> dog_1 = Dog('deng',18)
>>> dog_1.number
100
>>> 

Ao definir esta classe, especifique o valor do atributo numérico como 100, crie uma instância desta classe e imprima o valor deste atributo padrão.

2. Herança

Ao escrever uma classe, você não precisa criá-la do zero, pode optar por herdar uma classe pai.
Quando uma classe herda de uma classe pai, ela obtém todas as propriedades e métodos da classe pai. Após a subclasse herdar todas as propriedades e métodos da classe pai, ela também pode definir suas próprias propriedades e métodos.

class Animal:
	def __init__(self,name,age):
		self.name = name
		self.age = age
	def sit(self):
		print("sittint")

Uma classe Animal é definida aqui

 class Dog(Animal):
	def __init__(self,name,age,number):
		super().__init__(name,age)
		self.number = number

Em seguida, defina uma classe Dog que herda da classe pai Animal. No método __init__ da subclasse, a primeira super().__init__(name,age)função é chamar o método __init__ da classe pai, para que a subclasse contenha todos os atributos definidos neste método. Pode-se ver que a subclasse Dog() tem um número de atributo a mais do que a classe pai Animal(), então, a seguir, atribua um valor ao atributo number.

Se o método da classe pai não for adequado para a subclasse, você também pode optar por substituir o método da classe pai, basta escrever um nome de método com o mesmo nome da classe pai na subclasse.

Acho que você gosta

Origin blog.csdn.net/weixin_47250738/article/details/130665702
Recomendado
Clasificación