C'est aussi naturel ... Cependant, si vous ne faites pas attention, vous pouvez penser "ça?" Par exemple, considérez une classe comme celle-ci.
class A:
prop1 = 123
prop2 = prop1
def hoge(self):
return 'superhoge'
fuga = hoge
class SubA(A):
prop1 = 777
def hoge(self):
return 'hoge'
Lorsque vous créez un objet SubA, hoge () et prop1 ressembleront naturellement à ceci.
>>> a = SubA()
>>> print(a.hoge())
hoge
>>> print(a.prop1)
777
Au fait, qu'en est-il de prop2 et fuga? Puisqu'elles se réfèrent respectivement à prop1 et hoge, il semble que le même résultat sera obtenu si elles sont écrasées. Cependant, c'est effectivement le cas.
>>> a = SubA()
>>> print(a.fuga())
superhoge
>>> print(a.prop2)
123
De là, nous pouvons voir que prop2 et fuga font référence à la définition de la classe parente. En tant que mécanisme orienté objet, l'expression «écraser avec la classe enfant» est souvent utilisée, mais elle est incorrecte. Je pense que vous devriez faire attention à la façon dont vous utilisez les mots.