10.Dart-抽象类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.Dart-抽象类相关的知识,希望对你有一定的参考价值。
参考技术A /*** Dart中的抽象类
* Dart抽象类主要用于定义标准, 子类可以继承抽象类, 也可以实现抽象类接口
* 1.抽象类通过abstract关键字来定义
* 2.Dart中的抽象类方法不能用abstract声明, Dart中没有方法体的方法我们成为抽象方法
* 3.如果子类继承抽象类必须得实现里面的抽象方法
* 4.如果吧抽象类当做接口实现,必须试下抽象类里面所有属性和方法
* 5.抽象类不能被实例化, 只有继承抽象类的子类可以
*
*
* extends抽象类和 implements区别:
* 1.如果要复用抽象类里面的方法,并且要用抽象方法约束子类就用extends继承抽象类
* 2.如果只是把抽象类当做标准就用implemets实现抽象类
*
*/
main(List<String> args)
var dog = new Dog();
dog.name = "小狗";
dog.eat();
dog.run();
dog.say();
// 抽象类其实就是多态的一种形式
// 这里将dog转成Aniaml, 那么他就不能用dog类自己的say方法了
Animal dog1 = new Dog();
dog1.run();
// dog1.say()//这世就没有这个方法可以调用了
// 定义一个抽象类, 抽象类未实现的方法叫抽象方法,子类必须实现, 抽象类里面实现了的方法, 子类可以直接继承使用
abstract class Animal
String name = "动物";
eat();
run()
print("$this.name奔跑吧");
class Dog extends Animal
@override
eat()
print("小狗吃骨头!");
// 子类自己的方法
say()
print("汪汪汪!");
class Cat implements Animal
@override
String name;
@override
eat()
// TODO: implement eat
throw UnimplementedError();
@override
run()
// TODO: implement run
throw UnimplementedError();
以上是关于10.Dart-抽象类的主要内容,如果未能解决你的问题,请参考以下文章