Skip to content

Instantly share code, notes, and snippets.

@darknight1604
Created July 14, 2022 07:51
Show Gist options
  • Save darknight1604/0055af404422f905ea435af4e885624d to your computer and use it in GitHub Desktop.
Save darknight1604/0055af404422f905ea435af4e885624d to your computer and use it in GitHub Desktop.
fascinating-dryad-3978

fascinating-dryad-3978

Created with <3 with dartpad.dev.

void main() {
final Builder builder = StudentBuilder();
builder.buildFirstName('Tấn');
builder.buildLastName('Mobile');
Student student = builder.build();
print(student.toString());
}
abstract class Builder {
Builder buildFirstName(String firstName);
Builder buildLastName(String lastName);
Student build();
}
class StudentBuilder implements Builder {
late String firstName;
late String lastName;
@override
Builder buildFirstName(String firstName) {
this.firstName = firstName;
return this;
}
@override
Builder buildLastName(String lastName) {
this.lastName = lastName;
return this;
}
@override
Student build() => Student(firstName, lastName);
}
class Student {
final String lastName;
final String firstName;
const Student(this.firstName, this.lastName);
@override
String toString(){
return '$lastName $firstName';
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment