Skip to content

Instantly share code, notes, and snippets.

@awaik
Created August 18, 2019 09:48
Show Gist options
  • Save awaik/60572b4935d59c7dceea2bca26677998 to your computer and use it in GitHub Desktop.
Save awaik/60572b4935d59c7dceea2bca26677998 to your computer and use it in GitHub Desktop.
//Example 3 for article getters&setters
class Person {
String name;
int birthYear;
bool get isAdult => (DateTime.now().year - birthYear) > 18;
int get age => (DateTime.now().year - birthYear);
set age(int val) => birthYear = (DateTime.now().year - val);
Person(this.name, this.birthYear);
}
void main() {
Person personAdult = Person('adultUser', 1990);
print(
'Hello ${personAdult.name}, you was born in ${personAdult.birthYear}, you are ${personAdult.isAdult ? 'adult' : 'not adult'}');
Person personNotAdult = Person('adultUser', 2005);
print(
'Hello ${personNotAdult.name}, you was born in ${personNotAdult.birthYear}, you are ${personNotAdult.isAdult ? 'adult' : 'not adult'}');
//check how setter work
print(personAdult.birthYear);
personAdult.age = 5;
print(personAdult.birthYear);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment