自己做的网站被举报违反广告法潍坊定制网站搭建
news/
2025/10/6 18:11:11/
文章来源:
自己做的网站被举报违反广告法,潍坊定制网站搭建,专业seo服务,张家港英文网站制作介绍多态性是为不同的基础形式(例如#xff0c;数据类型或类)利用同一接口的能力。这允许函数在不同时间使用不同类型的实体。对于Python中的面向对象编程#xff0c;这意味着可以用与属于特定类的特定对象相同的方式来使用它#xff0c;就好像它是属于不同类的不同对象一样…介绍多态性是为不同的基础形式(例如数据类型或类)利用同一接口的能力。这允许函数在不同时间使用不同类型的实体。对于Python中的面向对象编程这意味着可以用与属于特定类的特定对象相同的方式来使用它就好像它是属于不同类的不同对象一样。多态性提供了灵活性和松散的耦合因此可以随时间扩展代码并且轻松维护它们。本教程将介绍如何将多态应用于Python中的类。创建多态类为了使用多态性我们创建两个不同的类用于两个不同的对象每一个不同的类都需要有一个共同的接口这样它们就可以被多态地使用所以我们为它们提供不同但有相同名称的方法。我们创建一个Shark类和Clownfish类每个类都将定义swim()swim_backwards()和skeleton()的方法。polymorphic_fish.pyclass Shark():def swim(self):print(The shark is swimming.)def swim_backwards(self):print(The shark cannot swim backwards, but can sink backwards.)def skeleton(self):print(The sharks skeleton is made of cartilage.)class Clownfish():def swim(self):print(The clownfish is swimming.)def swim_backwards(self):print(The clownfish can swim backwards.)def skeleton(self):print(The clownfishs skeleton is made of bone.)上面的代码中Shark和Clownfish类都有三个相同名称相同的方法但是这些方法的每个功能对于每个类都不同。让我们将这些类实例化为两个对象polymorphic_fish.py...sammy Shark()sammy.skeleton()casey Clownfish()casey.skeleton()当使用python polymorphic_fish.py命令运行程序时我们可以看到每个对象都按照预期的方式运行OutputThe sharks skeleton is made of cartilage.The clownfishs skeleton is made of bone.现在我们有两个使用通用接口的对象无论它们的类型如何我们都可以以相同的方式使用这两个对象。多态性与类方法为了展示Python如何以相同的方式使用这些不同的类类型我们首先可以创建一个遍历对象元组的for循环。然后我们可以调用这些方法而不用关心每个对象是什么类型的我们仅假设这些方法实际上存在于每个类中。polymorphic_fish.py...sammy Shark()casey Clownfish()for fish in (sammy, casey):fish.swim()fish.swim_backwards()fish.skeleton()我们有两个对象Shark类的sammy和Clownfish类的casey 我们的for循环迭代这些对象在每个对象上调用swim()swim_backwards()和skeleton()方法。运行程序时输出将如下所示OutputThe shark is swimming.The shark cannot swim backwards, but can sink backwards.The sharks skeleton is made of cartilage.The clownfish is swimming.The clownfish can swim backwards.The clownfishs skeleton is made of bone.for循环首先通过Shark类的sammy实例化然后是Clownfish类的casey对象先看到与Shark类相关的方法。这表明python在不知道或关心每个对象的类类型的情况下使用了这些方法也就是说以多态方式使用了这些方法。函数的多态性我们还可以创建一个可以接受对象的函数从而实现多态。我们创建一个叫in_the_pacific()的函数它接受一个我们可以调用fish的对象使用的是名称fish实例化的对象都可以被调用到这个函数中polymorphic_fish.py...def in_the_pacific(fish):接下来我们给函数一些使用我们传递给它的fish对象的函数在这种情况下我们调用swim()方法其中每个方法都在两个类Shark和Clownfish中定义polymorphic_fish.py...def in_the_pacific(fish):fish.swim()接下来如果没有它们我们创建Shark和Clownfish类的实例化使用这些函数我们可以使用相同的in_the_pacific()函数调用它们的操作polymorphic_fish.py...def in_the_pacific(fish):fish.swim()sammy Shark()casey Clownfish()in_the_pacific(sammy)in_the_pacific(casey)运行程序时输出将如下所示OutputThe shark is swimming.The clownfish is swimming.尽管我们在定义时将随机对象(fish )传递给in_the_pacific()函数但是仍然能够有效地实例化Shark和Clownfish类casey对象调用Clownfish类中的swim()方法而sammy对象调用在Shark类中定义的swim()方法。结束语通过允许不同的对象通过多态的方式使用函数和方法利用这个Python功能可为你的面向对象的代码提供更大的灵活性和可扩展性。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929584.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!