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

湖北微网站建设多少钱wordpress新建用户

湖北微网站建设多少钱,wordpress新建用户,科技幻想画,前端面试题2022文章目录 一、什么是多态#xff1f;二、多态的实现1.通过继承实现多态2.抽象类实现多态2.1 抽象类的实现2.2 抽象类的注意事项2.3 总结 三、注意事项四、总结随笔练习抽象类 在面向对象编程中#xff0c;多态是一种强大的概念#xff0c;它允许不同类型的对象对相同的消息做… 文章目录 一、什么是多态二、多态的实现1.通过继承实现多态2.抽象类实现多态2.1 抽象类的实现2.2 抽象类的注意事项2.3 总结 三、注意事项四、总结随笔练习抽象类 在面向对象编程中多态是一种强大的概念它允许不同类型的对象对相同的消息做出不同的响应。Python作为一门支持面向对象编程的语言也支持多态。 一、什么是多态 多态Polymorphism是指在面向对象编程中不同类型的对象可以使用相同的接口而具体的实现方式则各不相同。 换句话说当我们调用一个方法时不同的对象可以以不同的方式来响应这个方法调用。 这种极大地提高了代码的可复用性和可扩展性。 多态即是面向对象编程的三大特性之一另外两个是封装和继承。 二、多态的实现 Python通过动态类型语言的特点来实现多态即在运行时根据实际对象的类型进行方法调用。具体来说Python中的多态实现依赖于以下两个特性 动态绑定Dynamic Binding在运行时根据对象的类型确定方法的具体实现鸭子类型Duck Typing只要一个对象“走起路来像鸭子、叫起来像鸭子”那么它就可以被视为鸭子。 1.通过继承实现多态 下面通过一个例子来说明Python中的多态实现 class Animal:def __init__(self, name):self.name namedef speak(self):raise NotImplementedError(Subclass must implement abstract method)class Dog(Animal):def speak(self):return Woof!class Cat(Animal):def speak(self):return Meow!def animal_speak(animal):print(animal.speak())dog Dog(Tommy) cat Cat(Kitty)animal_speak(dog) # 输出Woof! animal_speak(cat) # 输出Meow!在上面的例子中我们定义了一个Animal类和两个子类Dog和Cat它们分别实现了speak()方法。 animal_speak()函数接受任何一个Animal对象并调用其speak()方法。 由于Python是动态类型语言因此在运行时可以根据实际传入的对象类型确定调用哪个speak()方法。 2.抽象类实现多态 抽象类是一种只能被继承而不能被实例化的类。它定义了一个通用的接口子类必须实现这个接口中定义的方法或属性。抽象类的存在可以让我们在设计和编写代码时更加灵活和规范。抽象类的主要作用有两个 提供一种规范抽象类定义了子类应该具备的方法或属性确保了子类的一致性。强制子类实现抽象类要求子类必须实现抽象类中定义的方法或属性否则会在运行时抛出异常。 2.1 抽象类的实现 Python中的抽象类通过abc模块来实现。该模块提供了ABCAbstract Base Class类和abstractmethod装饰器用于定义抽象类和抽象方法。 语法 from abc import ABC, abstractmethodclass 类名(ABC):abstractmethoddef 函数名(self):pass或者逻辑下面是一个简单的示例 from abc import ABC, abstractmethodclass AbstractClassExample(ABC):abstractmethoddef method1(self):passabstractmethoddef method2(self):passclass ConcreteClassExample(AbstractClassExample):def method1(self):print(Method 1 implementation)def method2(self):print(Method 2 implementation)# 抽象类无法实例化 # example AbstractClassExample()# 子类可以实例化并调用方法 example ConcreteClassExample() example.method1() # 输出Method 1 implementation example.method2() # 输出Method 2 implementation在上面的示例中AbstractClassExample是一个抽象类它继承自ABC类。method1()和method2()被abstractmethod装饰器修饰表示它们是抽象方法子类必须实现这两个方法。 ConcreteClassExample是一个具体类它继承自AbstractClassExample。 由于ConcreteClassExample重写了method1()和method2()因此它可以实例化并调用这两个方法。 2.2 抽象类的注意事项 在使用抽象类时需要注意以下几点 抽象类不能被实例化抽象类只能用作其他类的基类不能直接创建实例。子类必须实现所有抽象方法子类必须实现抽象类中定义的所有抽象方法否则会在运行时抛出异常。如果子类没有实现所有抽象方法它也会被视为抽象类。抽象方法可以有实现抽象方法可以在抽象类中有默认实现但子类仍然可以选择重写这些方法。抽象类可以包含非抽象方法抽象类中除了抽象方法外还可以包含普通的方法和属性。 2.3 总结 抽象类是一种不能被实例化的类它定义了其他类的通用接口和行为。Python通过abc模块来实现抽象类使用ABC类作为基类和abstractmethod装饰器来定义抽象类和抽象方法。使用抽象类可以提供代码的规范性和灵活性强制子类实现抽象方法从而提高代码的可靠性和可维护性。然而在使用抽象类时需要注意抽象类不能被实例化、子类必须实现所有抽象方法等事项。 三、注意事项 虽然多态可以提高代码的可复用性和可扩展性但也需要注意一些问题。 抽象基类应该定义规范的接口确保所有实现该接口的子类都能够正确地响应相应的方法调用。尽管Python是一门动态类型语言但仍然需要注意调用的方法是否存在以避免在运行时抛出AttributeError异常。当有多个子类实现了同一个方法时需要确保每个子类的实现方式是相互独立的以避免意外地影响其他子类的正确性。 四、总结 多态是面向对象编程中非常重要的一个概念它可以提高代码的可复用性和可扩展性。 Python作为一门支持面向对象编程的语言通过动态类型语言的特点来实现多态即在运行时根据实际对象的类型进行方法调用。同时我们也需要注意抽象基类的规范定义、方法调用的存在性以及子类实现方式相互独立等问题。 随笔练习抽象类 from abc import ABC,abstractmethod 1.需要使用abc模块实现抽象类即定义抽象类的时候需要class 抽象类名称(ABC): 2.实现抽象类要将抽象方法都实现 3.抽象类不能被实例化会报错TypeError: Cant instantiate abstract class Animal with abstract methods cood, speak 4.抽象类中可以有构造函数可以有普通函数 5.抽象方法可以有实现class Animal(ABC):def __init__(self,type):self.type typedef speak(self):print(要吃冻干)abstractmethoddef speak(self):pass# 抽象方法可以有实现abstractmethoddef cood(self):print(要吃冻干)class Cat(Animal):color Nonedef speak(self):print(要吃冻干)def cood(self):print(要吃冻干)cat Cat(1) cat.speak()
http://www.pierceye.com/news/65147/

相关文章:

  • 网站可以更换域名吗wordpress注册登录修改
  • 网站开发外包报价做亚马逊网站一般发什么快递公司
  • 山西省住房建设厅网站下载网站的页面设计
  • 让别人访问自己做的网站动漫设计与制作培训学院
  • 河南app网站建设一个营销型网站模板
  • 成品网站整套源码郑州同济医院口碑怎样
  • 一叶子电子商务网站建设策划书市场监督管理局电话号码
  • 为离职员工做的网站wordpress 免费 博客主题
  • 学生做义工网站杭州免费自助建站模板
  • 肇庆东莞网站建设百度收录查询接口
  • 广州品牌网站开发免费做网站收录的
  • 网站建设策划框架30g月流量网站
  • 广 做网站蓝光电影下载太原网站建设托管
  • 网站建设 设备app开发公司选择技巧
  • 廊坊建设公司网站wordpress屏蔽ip
  • 网站策划书主题外包给网站建设注意事项
  • 小城镇建设投稿网站关于开展全县中小学校网站群建设的请示报告
  • 主页制作湘潭seo优化价格
  • 厦门专业网站排名推广自己创办网站
  • 建设部网站下载网站建设协议书是否贴花
  • 惠城中山网站建设u钙网logo在线设计
  • 珠宝首饰网站模板重庆秀山网站建设费用
  • 做编程的 网站有哪些金华网站制作企业
  • 建设部网站企业资质做网站用的什么语言
  • 国内优秀的个人网站陕西省建设网证件查询
  • 做微商在哪个网站打广告好网站建设 数据上传 查询
  • 网站cms社区网站怎么建
  • h5网站设计报价怎样利用网站做推广
  • 宣汉县建设局网站接做室内效果图的网站
  • 龙华网站-建设深圳信科网站建站建设怎么做