Skip to content

Instantly share code, notes, and snippets.

@miquelbeltran
Forked from kwalrath/main.dart
Created March 3, 2021 17:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save miquelbeltran/ddd7164e21e84a5424561a2c0cfeebf0 to your computer and use it in GitHub Desktop.
Save miquelbeltran/ddd7164e21e84a5424561a2c0cfeebf0 to your computer and use it in GitHub Desktop.
Java-to-Dart codelab: CircleMock example
import 'dart:math';
abstract class Shape {
factory Shape(String type) {
if (type == 'circle') return Circle(2);
if (type == 'square') return Square(2);
throw 'Can\'t create $type.';
}
num get area;
}
class Circle implements Shape {
final num radius;
Circle(this.radius);
num get area => pi * pow(radius, 2);
}
class Square implements Shape {
final num side;
Square(this.side);
num get area => pow(side, 2);
}
class CircleMock implements Circle {
num area = 0;
num radius = 0;
}
main() {
final circle = Shape('circle');
final square = Shape('square');
print(circle.area);
print(square.area);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment