25 июля 2019 наследование классов 1

  Ориентированные на изображении: наследование, полиморфизм, инкапсуляция

Класс ParentClass1:
     пропуск 

класса ParentClass2:
     пропуск 

класса SubClass (ParentClass1): # 单继承
    проход 

класса SubClass2 (ParentClass1, ParentClass2): # 多继承
    проход

 

Подкласс определенных атрибутов Если пить такое же имя, что и свойство родительского класса, подкласс приоритета вызова не покрывает указанный

 

Когда наследование:

1. Когда класс существенно отличается, и небольшой компонент более широкого класса вещей, необходимых по классу, с комбинацией.

2. Когда есть много одного и того же функционального класса, эти общие черты, экстрагированный из наследования базового класса.

 

Наследование также имеет два значения:

1. Наследование и производные: повторное использование кода уменьшается. (Не независимый, не рекомендуется)

2. Заявление подклассы совместим с базовым классом определяет класс интерфейса, подкласс наследует класс интерфейса и метод, описанный в реализации интерфейса. (VIP рекомендуется)

класс папа: 
    Деньги = 10
     DEF  в __init__ (Self, имя):
         Print ( ' папа ' ) 
        self.name = имя 

    DEF hit_son (Self):
         Print ( ' % S есть Сын HIT ' % self.name) 

класса сын (папа) : 
    деньги = 55 # приоритета вызова подкласса, но не затрагивающая 


S1 = сын ( « SXj » ) # свойства методы , унаследованные сын классового отца, есть необходимость передать параметрам имени папу 
Print (s1.money, s1.name, Dad.money ) 
s1.hit_son ()

"" ""

DAD
55 SXj 10
SXj попадания сына

 

 

Наследование интерфейса: нормированный дизайн. Сделать хорошую абстракцию, которая обеспечивает совместимый интерфейс.

Импорт ABC # наследование интерфейса играет сила ограничения подкласса 
класс All_file (= метакласс что abc.ABCMeta): # наследование интерфейса: определение родительского класса, должен иметь заранее определенные методы чтения и запись, родитель не может быть реализован, но она должна быть подклассами есть два этих метода 
    @ abc.abstractclassmethod # ниже , но абстрактные методы (обязательный подкласс должен прочитать и написать методы) 
    DEF чтения (Self):
         Pass 

    DEF написать (Self):
         Pass 


класса Disk (All_file):
     DEF чтения (Self) :
         Печать ( ' Disk Read ' )
     DEF Write (Self):
         Печать ( ' Disk Write ' ) 

класс CDrom (All_file):
    пройти 

класс Mem (All_file):
     передать 

d1 = Disk () 
d1.read () 
d1.write ()

"" "

Чтения диска
записи на диск

рекомендация

отwww.cnblogs.com/python1988/p/11246648.html