【发布时间】:2020-09-08 18:58:22
【问题描述】:
Class1 有一个属性List<ClassA> xyz = [];。 ClassA 有许多属性和方法。 ClassB 扩展了 ClassA,添加了额外的属性和方法。有没有办法让我创建扩展 Class1 的 Class2 但将 xyz 的类型更改为List<ClassB>?如果这令人困惑,希望下面的代码将举例说明我正在尝试完成的工作。基本上与重写方法但重写属性相同。
class Game {
int points;
String opponent;
int opponentPoints;
}
class FootballGame extends Game {
int touchdowns;
int opponentstouchdowns;
}
class BaseballGame extends Game {
int homeruns;
int opponentsHomeruns;
}
class Team {
String name;
List<Game> games;
double winningPercentage() {
int wins = 0;
for(var game in games){
wins += (game.points > game.opponentPoints) ? 1 : 0;
}
return wins / games.length;
}
}
class FootballTeam extends Team {
// How do I change the TYPE of the games property to <FootballGame>
}
【问题讨论】:
标签: class flutter dart extends