Flutter:继承自抽象的无状态小部件
Flutter: inherit from abstract stateless widget
我有一个 class 必须采用自定义小部件。这个可以有两个不同的实现,所以我想有一个抽象 class 作为接口并创建另外两个 classes 扩展抽象的。所以,我有:
abstract class ICustomWidget extends StatelessWidget{}
class A extends ICustomWidget{
@override
Widget build(BuildContext context) =>
//Implementation
}
class B extends ICustomWidget {
@override
Widget build(BuildContext context) =>
//Implementation
}
我想问一下这是正确的方法还是有另一种方法。谢谢
而不是 extends
,我会使用 implements
,因为 ICustomWidget
是一个接口,而不是 class,除非你可以提供更多上下文 [=18] =] 代码示例。
这是接口的示例代码
abstract class ICustomWidget {
// or
// abstract class ICustomWidget extends StatelessWidget {
void myProtocal();
}
class A extends StatelessWidget implements ICustomWidget {
@override
void myProtocal() {
// TODO: implement myProtocal
}
@override
Widget build(BuildContext context) {
//Implementation
}
}
class B extends ICustomWidget {
// compilation error, `myProtocal` not implemented
@override
Widget build(BuildContext context) {
//Implementation
}
}
我有一个 class 必须采用自定义小部件。这个可以有两个不同的实现,所以我想有一个抽象 class 作为接口并创建另外两个 classes 扩展抽象的。所以,我有:
abstract class ICustomWidget extends StatelessWidget{}
class A extends ICustomWidget{
@override
Widget build(BuildContext context) =>
//Implementation
}
class B extends ICustomWidget {
@override
Widget build(BuildContext context) =>
//Implementation
}
我想问一下这是正确的方法还是有另一种方法。谢谢
而不是 extends
,我会使用 implements
,因为 ICustomWidget
是一个接口,而不是 class,除非你可以提供更多上下文 [=18] =] 代码示例。
这是接口的示例代码
abstract class ICustomWidget {
// or
// abstract class ICustomWidget extends StatelessWidget {
void myProtocal();
}
class A extends StatelessWidget implements ICustomWidget {
@override
void myProtocal() {
// TODO: implement myProtocal
}
@override
Widget build(BuildContext context) {
//Implementation
}
}
class B extends ICustomWidget {
// compilation error, `myProtocal` not implemented
@override
Widget build(BuildContext context) {
//Implementation
}
}