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-抽象类的主要内容,如果未能解决你的问题,请参考以下文章

抽象类及抽象类

抽象类与多态

抽象类和抽象方法

抽象类VS接口

抽象类

抽象类抽象方法