没有为类'Person'定义方法'set_age'。飞镖
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了没有为类'Person'定义方法'set_age'。飞镖相关的知识,希望对你有一定的参考价值。
我是dart
的新手,在尝试将值设置为变量(这是私有变量)并且使用getters
和setters
时遇到此错误,>
但我收到此错误:
未为类“人”定义方法“ set_age”。
这是我的代码的样子。
class Person{
String firstName, lastName;
int _pAge;
double pSalary;
// syntactic sugar
Person(this.firstName, this.lastName, this.pSalary);
// Named constructor
Person.origin(){
firstName = "";
lastName = "";
_pAge = 0;
pSalary = 0.0;
}
String fullName() => this.firstName + " " + this.lastName;
// getters and setters for _pAge
set set_age(int age){
_pAge = age;
}
int get get_age => _pAge;
}
main() {
Person p1 = new Person("Jananath", "Banuka", 15000.00);
Person p2 = new Person("Thilina", "Kalansooriya", 55000.00);
p1.set_age(10); //this is where the error is coming from
print(p1.fullName());
print(p2.fullName());
}
我是dart的新手,尝试将值设置为变量(这是私有变量)时遇到此错误,并且我使用的是getter和setter方法,但出现此错误:方法'...] >
答案
您正在将您的设置员称为方法。您应该更改设置器的使用方式或将设置器更改为方法:
class Person1 {
int _pAge;
set set_age(int age) =>_pAge = age;
int get get_age => _pAge;
}
class Person2 {
int _pAge;
void set_age(int age) => _pAge = age;
int get_age() => _pAge;
}
void main() {
final p1 = Person1();
p1.set_age = 10;
print(p1.get_age);
final p2 = Person2();
p2.set_age(10);
print(p2.get_age());
}
另一答案
p1.set_age = 10;
以上是关于没有为类'Person'定义方法'set_age'。飞镖的主要内容,如果未能解决你的问题,请参考以下文章
2022 年,把 Python 学得跟 Java 一样熟练——02 类定义