Dart-如何定义必须在继承的任何类中实现的属性?

Dart-如何定义必须在继承的任何类中实现的属性?,dart,Dart,如果我这样做: abstract class Base { void doSomething(); } class Sub extends Base { } 我将在IDE中得到一个警告,指出我没有在Sub中实现doSomething。如何对属性执行相同的操作。假设我有一门课是这样的: class BaseChannel { void connect() { Socket.connect(topic); } } class PostChannel extends Bas

如果我这样做:

abstract class Base {
  void doSomething();
}

class Sub extends Base {

}
我将在IDE中得到一个警告,指出我没有在
Sub
中实现
doSomething
。如何对属性执行相同的操作。假设我有一门课是这样的:

class BaseChannel {
  void connect() {
    Socket.connect(topic);
  }
}

class PostChannel extends BaseChannel {

}

PostChannel
未在此处实现
主题
属性。在
BaseChannel
中是否有一种方法可以发出
PostChannel
需要的信号?

两个选项。分别用于getter和setter。这取决于你需要什么

abstract class BaseChannel {
  String get tipic;

  void set topic(String topic);
}

class PostChannel extends BaseChannel {
  //
}
错误:

Missing concrete implementations of 'getter BaseChannel.tipic' and 'setter BaseChannel.topic'.
Try implementing the missing methods, or make the class abstract.
您需要实现其中的一些功能:

  • 吸气剂
  • 塞特
  • 接二连三

这完全取决于在基类中声明抽象的内容(getter、setter或两者兼有)。

两个选项。分别用于getter和setter。这取决于你需要什么

abstract class BaseChannel {
  String get tipic;

  void set topic(String topic);
}

class PostChannel extends BaseChannel {
  //
}
错误:

Missing concrete implementations of 'getter BaseChannel.tipic' and 'setter BaseChannel.topic'.
Try implementing the missing methods, or make the class abstract.
您需要实现其中的一些功能:

  • 吸气剂
  • 塞特
  • 接二连三

这完全取决于在基类(getter、setter或两者)中声明抽象的内容。

如果希望所有子类都实现
主题
getter,则需要将其声明为超类接口的一部分。与声明抽象方法一样,还可以声明抽象字段和getter/setter

例如:

抽象类BaseChannel{
String get topic;//抽象getter声明。
void connect(){
Socket.connect(主题);
}
}
类PostChannel扩展了BaseChannel{
最后一个字符串主题;//实现getter。
后频道(本主题);
}
使用Dart 2.12,您还可以声明“抽象字段”:

摘要最后一个字符串主题;
或者(如果它也需要一个setter)

抽象字符串主题;

这与声明抽象getter或抽象getter/setter对相当。

如果希望所有子类都实现
主题
getter,则需要将其声明为超类接口的一部分。与声明抽象方法一样,还可以声明抽象字段和getter/setter

例如:

抽象类BaseChannel{
String get topic;//抽象getter声明。
void connect(){
Socket.connect(主题);
}
}
类PostChannel扩展了BaseChannel{
最后一个字符串主题;//实现getter。
后频道(本主题);
}
使用Dart 2.12,您还可以声明“抽象字段”:

摘要最后一个字符串主题;
或者(如果它也需要一个setter)

抽象字符串主题;
这与声明抽象getter或抽象getter/setter对相当