нужно указывать ключевое слово this или не нужно?
Нужно указывать ключевое слово this или не нужно? Подскажите. Спасибо.
void main() {
Atom a = Atom(10, 20);
print(a.f1());
print(a.f2());
}
class Atom {
int x;
int y;
int z = 100;
Atom(this.x, this.y);
int f1() {
return x + y + z;
}
int f2() {
//нужно указывать ключевое слово this или не нужно?
return this.x + this.y + this.z;
}
}
ответ
130 130
Ответы (1 шт):
Автор решения: Vladimir Afanasyev
→ Ссылка
Если вы в рамках функции не работаете с другими значениями, передаваемыми в качестве параметров или объявляемых внутри функции, но с идентичным названием, то f1() от f2() отличатся у вас не будет.
То есть this вам нужен только как указатель на объект и однозначного указателя на поле конструкцией this.value, к которому вы применяете функцию:
a.f2(1, 2, 3);
int f2(int x, int y, int z) {
//нужно указывать ключевое слово this или не нужно?
return x + y + z;
}
#6
и
a.f2(1, 2, 3);
int f2(int x, int y, int z) {
//нужно указывать ключевое слово this или не нужно?
return this.x + x + this.y + y + this.z + z;
}
#136