class circle {
dynamic r;
}
class rectangle {
dynamic len;
}
dynamic area(dynamic shape) {
if (shape is circle) {
return shape.r * shape.r * 3.14;
} else {
return shape.len * shape.len;
}
}
void main() {
var shape = circle()..r = 3;
print(area(shape));
var shape1 = rectangle()..len = 3;
print(area(shape1));
}
Y2xhc3MgY2lyY2xlIHsKICBkeW5hbWljIHI7Cn0KCmNsYXNzIHJlY3RhbmdsZSB7CiAgZHluYW1pYyBsZW47Cn0KCmR5bmFtaWMgYXJlYShkeW5hbWljIHNoYXBlKSB7CiAgaWYgKHNoYXBlIGlzIGNpcmNsZSkgewogICAgcmV0dXJuIHNoYXBlLnIgKiBzaGFwZS5yICogMy4xNDsKICB9IGVsc2UgewogICAgcmV0dXJuIHNoYXBlLmxlbiAqIHNoYXBlLmxlbjsKICB9Cn0KCnZvaWQgbWFpbigpIHsKICB2YXIgc2hhcGUgPSBjaXJjbGUoKS4uciA9IDM7CiAgcHJpbnQoYXJlYShzaGFwZSkpOwoKICB2YXIgc2hhcGUxID0gcmVjdGFuZ2xlKCkuLmxlbiA9IDM7CiAgcHJpbnQoYXJlYShzaGFwZTEpKTsKfQ==