4.1 鸭子类型和多态
生活随笔
收集整理的這篇文章主要介紹了
4.1 鸭子类型和多态
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
慕課網課程:Python高級編程和異步IO并發編程
C++中如何實現多態:
class Mammal { public:virtual void Speak() const {std::cout<<"Mammal speak!";} }class Dog:public Mammal { public:void Speak() const {std::cout<<"Woof";} }class Cat:public Mammal { public:void Speak() const {std::cout<<"Meow";} }int main() {Mammal *ptr = new Cat;ptr->Speak()ptr = new Cat;ptr->Speak() }從上可知,需要定義一個父類Mammal, 子類繼承Mammal,這是因為C++是靜態語言,當定義一個變量ptr時,需要指定一個類型。而Python是動態語言,不需要定義父類即可實現多態
class Cat(object):def say(self):print('i am a cat')class Dog(object):def say(self):print('i am a dog')class Duck(object):def say(self):print('i am a duck')animal_list=[Cat, Dog, Duck] for animal in animal_list:animal().say()鴨子類型:When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.
當看到一只鳥走起來像鴨子、游泳起來像鴨子、叫起來也像鴨子,那么這只鳥就可以被稱為鴨子。
總結
以上是生活随笔為你收集整理的4.1 鸭子类型和多态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adsl网站服务器能行不,ADSL用户个
- 下一篇: 元数据管理平台技术白皮书