Я все еще изучаю учебник по флаттеру / дартсу.
Это мой код Я создаю метод, который может возвращать объект. Как получить элемент данных из подкласса с помощью метода.
abstract class Shape{
get area;
}
class Circle implements Shape{
final radius;
Circle(this.radius);
get area=>pi*pow(radius,2);
}
class Square implements Shape{
final side;
Square(this.side);
get area=>pow(side,2);
}
Shape shapeFactory(String type){
if(type=='circle') return Circle(2);
if(type=='square') return Square(2);
throw 'Can\'t create $type.';
}
void main() {
var s=shapeFactory('square');
print(s.area);
print(s.side);
var c= shapeFactory('circle');
print(c.area);
print(c.radius);
}
как вы можете видеть, я могу получить значение площади, но я не могу получить значения радиуса или стороны из круга класса или квадрата класса, который является подклассом формы класса