[英]Class and accessor methods Java
我不了解访问器方法 ,因此无法创建setAge,getAge和getName。
这是问题:
添加三个访问器方法setAge
, getAge
和getName
。 这些方法应设置并获取相应实例变量的值。
public class Player {
protected int age;
protected String name;
public Player(String namArg) {
namArg = name;
age = 15;
}
}
访问器方法用于返回私有或受保护字段的值。 它遵循一种命名方案,在方法名称的开头加上单词“ get”。 例如,让我们为名称添加访问器方法:
class Player{
protected name
//Accessor for name
public String getName()
{
return this.name;
}
}
您可以通过以下对象访问受保护名称的值:
Player ball = new Player()
System.out.println(ball.getName())
mutator方法用于设置私有字段的值。 它遵循一种命名方案,在方法名称的开头加上单词“ set”。 例如,让我们为名称添加mutator字段:
//Mutator for name
public void setName(String name)
{
this.name= name;
}
现在我们可以使用以下命令设置球员名称:ball.setName('David');
您的实例变量是年龄和姓名。 您的设置方法无效,并将您传递的参数设置为相应的变量。 您的吸气剂并不无效,并返回适当的变量。
试试这个,然后再提问。
setAbcd方法是更改器方法,可用于设置受保护的数据字段。 getAbcd方法是访问器方法,可用于返回数据字段的值,因为它们通常是私有的,在类外部不可用。
例如
public void getvariableName() {
return variableName;
}
public class Player {
protected int age;
protected String name;
//变异器方法
公共无效setAge(String a){age = a; }
public void setName(String n) {
name = n;
}
//访问器方法
公共字符串getAge(){返回年龄; }
public string getName() {
return name;
}
}
答案为:我不了解访问器方法,这是问题所在:
为什么我们需要访问器方法? 封装!!! 为什么需要封装?
1)想象一下(程序员1)要编写那些setAge,getAge和getName方法。 我是程序员#2。 我很可能无法直接访问年龄和姓名。 因此,我要使用您的公共访问器方法setAge,getAge和getName。 这是为了避免代码和变量混乱。 因为您不能信任所有编码员。
2)在setAge方法中,您可以提供VALIDATION
随机邪恶的程序员:是的,我想使年龄等于234,所以我们的程序结果会粉碎哈哈哈
你:不,我要添加验证条件到我的setAge方法中,这样你只能使年龄等于0到90(无论你想要什么)
这是我们使用访问器方法的最流行的原因。
代码说明:
setAge解释(这只是为了获得主要思想)
public void setAge(int ageInput) {
if ((ageInput > 10) && (ageInput <90))
{age = a;}}
随机邪恶的程序员将ageInput发送到您的公共方法中。 首先,它检查年龄值是否正确。 如果是,年龄实例(对象)变量将变为ageInput。 如果否,则什么也不会发生,并且您的变量不会混乱。
GetAge:它仅返回当前年龄值。 没有什么花哨。
如果您还有其他问题,请告诉我;)祝您好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.