面向对象三大特性-多态
多态:
python 生来支持多态
白话:一种事物的多种形态 (动物可以继承给狗,也可以继承给猫)
class Animal:
  pass
class Dog(Animal):
  def attack(self):
    pass
 
 
比如,其它语言:
class Animal:
  pass
class Dog(object Animal): 需要指定数据类型
  def attack(self):
    pass
--------------------
def func(int a): 指定数据类型 是int, 要是传str, 会报错
  pass
def func(a): #python 不需要指定
  pass
鸭子类型:
Python崇尚鸭子类型,即‘如果看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’
#二者都像鸭子,二者看起来都像文件,因而就可以当文件一样去用
class TxtFile:
  def read(self):
    pass
  def write(self):  
    pass
class DiskFile:
  def read(self):
    pass
  def write(self):
    pass
还有: 
people.attack()
dog.attack()
接收的消息一样attack(), 但是,执行的人不一样, 执行的函数内容不一样
总结:
对于某些方法来说,可以无差别的对待的几个类型,就是鸭子类型
python 不崇尚相似数据类型之间的继承关系
#目的是为了减少依赖关系,解耦
写功能性的程序:以功能为导向
写框架类的,或者模块类的: 使用继承的同时还要考虑解耦
    接近财富自由第不知道多少天
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号