📜  在Python中覆盖嵌套类成员

📅  最后修改于: 2022-05-13 01:55:04.321000             🧑  作者: Mango

在Python中覆盖嵌套类成员

覆盖是 OOP(面向对象编程)的概念,通常我们在继承中处理这个概念。方法覆盖是任何面向对象编程语言的一种能力,它允许子类或子类提供已由其超类或父类之一提供的方法的特定实现。

让我们考虑一个现实生活中的例子,其中基因嵌入了下一代的特征,每一代都有自己的特征,它们在基因的帮助下转移到其他世代。在这里,我们采用一个 Genes 类和一个嵌套类 Trait。特质类有一些特质,比如走路、头发和疾病,以及它们的价值。这些基因将转移到子类,子类可能有一些自己的特征,也有一些继承自其父类。此功能可以在覆盖嵌套类成员的帮助下实现。

例子:

# Genes are like messages in human 
# body which transfers from parent to 
# child. Same thing we have used here
# to show the real implementation of 
# above concept in python.
  
class Genes:
      
    # Inner class
    class Trait:
        walk ='Fast'
        hair ='Black'
        disease =('Diabetes', 'Migraine', 'TB')
  
class child(Genes):
      
    # Inner class
    class Trait(Genes.Trait):
        walk ='Fast'
        hair ='Black'
        disease =('Typhoid', ) + Genes.Trait.disease
          
          
# Driver's code
print(Genes.Trait.disease)
print(child.Trait.disease)

输出:

('Diabetes', 'Migraine', 'TB')
('Typhoid', 'Diabetes', 'Migraine', 'TB')>

注意:只有在必要时才使用嵌套类,否则只会使您的代码复杂且难以调试。