网站建设英文如何表达广州搜索seo网站优化
news/
2025/9/24 5:33:31/
文章来源:
网站建设英文如何表达,广州搜索seo网站优化,站点推广是什么意思,网址缩短在线生成appDart 中的多态教程
一、多态的概念
多态是面向对象编程中的一个重要概念。它允许将子类类型的指针赋值给父类类型的指针#xff0c;同一个函数调用会有不同的执行效果。换句话说#xff0c;子类的实例可以赋值给父类的引用。多态的核心在于父类定义一个方法不去实现#x…Dart 中的多态教程
一、多态的概念
多态是面向对象编程中的一个重要概念。它允许将子类类型的指针赋值给父类类型的指针同一个函数调用会有不同的执行效果。换句话说子类的实例可以赋值给父类的引用。多态的核心在于父类定义一个方法不去实现让继承它的子类去实现每个子类有不同的表现。
二、代码示例解析
一定义抽象类
abstract class Animal{eat(); //抽象方法
}这里定义了一个抽象类 Animal它有一个抽象方法 eat()。抽象类不能被实例化它的作用是为子类提供一个统一的接口规范。子类继承抽象类后必须实现抽象类中的抽象方法。
二定义子类
class Dog extends Animal{overrideeat() {print(小狗在吃骨头);}run(){print(run);}
}
class Cat extends Animal{overrideeat() { print(小猫在吃老鼠);}run(){print(run);}
}Dog 和 Cat 都是继承自 Animal 类的子类。在 Dog 类中重写了 eat() 方法使其输出“小狗在吃骨头”并且添加了一个 run() 方法。在 Cat 类中重写了 eat() 方法使其输出“小猫在吃老鼠”同样添加了一个 run() 方法。
三多态的体现
main(){// Dog dnew Dog();// d.eat();// d.run();// Cat cnew Cat();// c.eat();Animal dnew Dog();d.eat();Animal cnew Cat();c.eat();}在 main() 函数中我们没有直接实例化 Dog 和 Cat 类而是通过将它们赋值给父类 Animal 类型的变量来体现多态。Animal dnew Dog(); 这行代码中虽然变量 d 的类型是 Animal但它实际上指向的是一个 Dog 类型的对象。当我们调用 d.eat(); 时输出的是“小狗在吃骨头”这是 Dog 类中重写的 eat() 方法的实现。同样Animal cnew Cat(); 这行代码中变量 c 的类型是 Animal但它指向的是一个 Cat 类型的对象。调用 c.eat(); 时输出的是“小猫在吃老鼠”这是 Cat 类中重写的 eat() 方法的实现。
三、总结
通过这个例子我们可以看到多态的强大之处。它允许我们使用父类类型的变量来引用子类类型的对象并且能够根据实际引用的对象类型调用相应的方法。这种特性使得代码更加灵活和可扩展可以方便地添加新的子类而不需要修改现有的代码逻辑。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914969.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!