繁体   English   中英

Java类和访问器方法

[英]Class and accessor methods Java

我不了解访问器方法 ,因此无法创建setAge,getAge和getName。

这是问题:

添加三个访问器方法setAgegetAgegetName 这些方法应设置并获取相应实例变量的值。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM