当前位置: 首页 > news >正文

做网站l价格网站建设费用明细表

做网站l价格,网站建设费用明细表,旅游手机网站模板,做网站时如何去掉网站横条在 Python 中,多态(Polymorphism)是指不同的对象可以对相同的消息(方法调用)做出不同的响应。 简单来说,多态允许使用一个统一的接口来操作不同类型的对象,而这些对象会根据自身的类型来执行相应…

在 Python 中,多态(Polymorphism)是指不同的对象可以对相同的消息(方法调用)做出不同的响应。 简单来说,多态允许使用一个统一的接口来操作不同类型的对象,而这些对象会根据自身的类型来执行相应的具体操作。 例如,假设有一个父类 `Shape` 和几个子类 `Circle`、`Rectangle` 、`Triangle` ,它们都有一个 `area` 方法来计算面积。

class Shape:def area(self):passclass Circle(Shape):def __init__(self, radius):self.radius = radiusdef area(self):return 3.14 * self.radius ** 2class Rectangle(Shape):def __init__(self, length, width):self.length = lengthself.width = widthdef area(self):return self.length * self.widthclass Triangle(Shape):def __init__(self, base, height):self.base = baseself.height = heightdef area(self):return 0.5 * self.base * self.height

然后,可以创建这些不同形状的对象,并通过相同的方式调用 area 方法来获取它们各自的面积计算结果。

shapes = [Circle(5), Rectangle(4, 6), Triangle(3, 8)]for shape in shapes:print(shape.area())

尽管都是调用 area 方法,但不同的子类对象会根据自己的实现计算并返回不同的结果,这就是多态的体现。它增加了代码的灵活性和可扩展性,使得程序更易于维护和扩展。 

多态性 示例:

#多态#继承:多态一定是发生在子类和父类之间的重写:子类重写父类中的方法class Animal:def say(self):print('animal')class Cat(Animal):def say(self):print('I am a cat')class Dog(Animal):def say(self):print('I am a dog')class Duck(Animal):def say(self):print('I am a duck')duck=Duck()
duck.say()dog=Dog()
dog.say()#输出分别为:
#I am a duck
#I am a dog

子类重写父类方法后同一个方法‘say’的输出不同,即呈现多态性。

在 Python 中,鸭子类型(Duck Typing)是一种编程风格。

其理念是:如果一个对象的行为(方法和属性)看起来像鸭子,走路像鸭子,叫声像鸭子,那么我们就可以把它当作鸭子。

换句话说,在使用对象时,不关注对象的类型,而是关注对象是否具有所需的方法和属性。只要对象具有所需的方法和属性,就可以在相应的上下文中使用,而不管它具体属于哪个类。

例如,如果有两个类 Bird 和 Plane ,它们都有一个 fly 方法。

class Bird:def fly(self):print("Bird is flying")class Plane:def fly(self):print("Plane is flying")def make_fly(obj):obj.fly()

在某个函数中,如果需要一个能够“飞行”的对象,我们可以接受这两个类的实例,因为它们都具有 fly 方法,符合“能够飞行”的要求。

bird = Bird()
# 创建了一个 `Bird` 类的实例 `bird`plane = Plane()
# 创建了一个 `Plane` 类的实例 `plane`make_fly(bird)
# 调用 `make_fly` 函数,并将 `bird` 作为参数传递进去
# 在函数内部,通过 `obj.fly()` 调用了 `Bird` 类中定义的 `fly` 方法,输出 "Bird is flying"make_fly(plane)
# 调用 `make_fly` 函数,并将 `plane` 作为参数传递进去
# 在函数内部,通过 `obj.fly()` 调用了 `Plane` 类中定义的 `fly` 方法,输出 "Plane is flying"

 这种编程风格强调的是对象的行为,而不是对象的类型,使得代码更加灵活和可扩展。

鸭子类型示例:

#鸭子类型:长得像鸭子,它就是鸭子类型#多个类中实现了同一个方法(当前的方法名一样)
class Cat:def say(self):print('I am a cat')class Dog:def say(self):print('I am a dog')class Duck:def say(self):print('I am a duck')animal = Cat
animal().say()animal = Dog
animal().say()#输出:I am a cat
I am a dog#这也是一种多态的体现

http://www.wangmingla.cn/news/52935.html

相关文章:

  • 网站群内容管理系统的设计与实现郑州做网络营销渠道
  • 视频上传网站如何做2023重大新闻事件10条
  • lnmp怎么做网站青岛网站建设优化
  • wordpress做商品筛选网络优化需要哪些知识
  • 网站套程序360搜索关键词优化软件
  • 昆明电子商务网站建设论述搜索引擎优化的具体措施
  • 镇江网站排名优化公司百度服务电话
  • 长沙专业外贸网站建设中国联通腾讯
  • 乐陵疫情最新消息今天凌晨优就业seo课程学多久
  • 网站首页轮播图怎么做的什么是网络整合营销
  • 深圳网站设计制作百度经验悬赏令
  • 做促销的网站公司以优化为理由裁员合法吗
  • 如何做交友网站软文营销文章案例
  • 商城型网站建设seo搜索引擎优化人才
  • 龙岩网站建设加盟微商软文范例
  • 做网站专题的效果郑州官网网络营销外包
  • 网站建设开发模式h5企业seo排名优化
  • 长春网站建设网如何用google搜索产品关键词
  • 做动态网站用哪个程序软件比较简单百度官方客户端
  • 北京公司建设网站有域名后如何建网站
  • html5 网站建设免费域名申请网站
  • 淘宝网站怎么做网站最有效的app推广方式有哪些
  • 网站建设cms百度seo整站优化
  • 网站建设中有关数据库问题搜索引擎优化策略不包括
  • 做网站应该用多少分辨率seo公司排名
  • 20亿做网站优化推广网站怎么做最好
  • 简繁英3合1企业网站生成管理系统关键词搜索热度查询
  • 软件大全免费下载合肥优化排名推广
  • 做网站和做app哪个难涟源网站seo
  • 想找个人做网站武汉seo服务多少钱