Skip to content

Instantly share code, notes, and snippets.

@gyugyu90
Last active October 12, 2024 10:11
Show Gist options
  • Save gyugyu90/95080fed9fa2704fccc83317b317eacd to your computer and use it in GitHub Desktop.
Save gyugyu90/95080fed9fa2704fccc83317b317eacd to your computer and use it in GitHub Desktop.
abstract class Language {
factory Language(String languageCode) {
if (languageCode == 'ko') {
return Korean();
}
return English();
}
void sayHello();
}
class Korean implements Language {
@override
void sayHello() {
print('안녕하세요');
}
}
class English implements Language {
@override
void sayHello() {
print('Hello');
}
}
void main() {
Language('ko').sayHello(); // 안녕하세요
Language('en').sayHello(); // Hello
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment