[Dart] Getter와 Setter의 기본.
[Dart] Getter와 Setter
배경.
[インスタンス名].[変数名]
처럼 직접 처리할 수 없음[참조] 공식 사이트 Language tour
Getter만(읽기만 가능)
class Monster {
int _number;
String _name;
Monster(this._number, this._name);
// Getter
int get number => _number;
String get name => _name;
}
void main() {
final monster = Monster(1, 'Slime');
print(monster.number.toString() + ':' + monster.name);
}
실행 결과1:Slime
import 'monster.dart';
하여 그렇게 사용할 때 다음과 같은 오류가 발생한다.monster._number = 0;
오류 메시지The setter '_number' isn't defined for the type 'Monster'.
monster._number.toString()
오류 메시지The getter '_number' isn't defined for the type 'Monster'.
Setter 추가
_name
class Monster {
int _number;
String _name;
Monster(this._number, this._name);
// Getter
int get number => _number;
String get name => _name;
// Setter
set name(String s) {
if (s.length > 0 && s.length < 11) {
_name = s;
} else {
print('$s:文字数を1文字以上10文字以下にしてください。');
}
}
}
void main() {
final monster = Monster(1, 'Slime');
print(monster.number.toString() + ':' + monster.name);
monster.name = 'Slaline';
print(monster.number.toString() + ':' + monster.name);
}
실행 결과1:Slime
1:Slaline
Reference
이 문제에 관하여([Dart] Getter와 Setter의 기본.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/iwaku/articles/2020-12-09-iwaku텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)