Java演習12.2
1.ケース3-1:学生クラスを定義する
ケースの説明:
学生を表すクラスを設計します。このクラスには、名前を表す属性名と年齢を表す属性ageがあります。また、の名前と年齢を出力するために使用される、話す動作を表すメソッドspeak()もあります。学生
package com.shangjiti.aoian;
public class Student {
String name;
int age;
public void speak(){
System.out.println("名字是"+name+"年龄是:"+age+"岁");
}
}
2.ケース3-2:クラスのオブジェクトを作成する
ケースの説明:
ケース3-1に基づいて、学生オブジェクトstuを作成し、stuの名前と年齢の属性に値を割り当ててから、speak()メソッドを呼び出して学生の情報を出力します。
package com.shangjiti.aoian;
public class No1 {
public static void main(String[] args) {
Student stu=new Student();
stu.name="Aoain";
stu.age=3; //调用对象的结构:属性,对象
System.out.println(stu.name);//调用属性:"对象.属性"
System.out.println(stu.age);
stu.speak(); //调用方法:对象.方法
}
}
3.ケース3-3:クラスのカプセル化
ケースの説明:
このケースでは、privateキーワードを使用してメンバー変数の名前と年齢を非公開にし、名前と年齢に外部からアクセスする4つのメソッドを定義します:getName()、setName(String n)、getAge()、setAge(int a) 。
setAge(int a)メソッドの入力パラメータを確認します。入力値が負の場合は「設定された年齢は不正です」と出力し、負の数でない場合は年齢属性の値に設定します。
setNameメソッドの入力パラメータを確認します。空の文字列の場合は「名前を空にすることはできません」というプロンプトが表示されます。空でない場合は、nameの値に設定されます。
main()メソッドでStudentクラスのインスタンスオブジェクトを作成し、オブジェクトのsetName(String n)メソッドとsetAge(int a)メソッドを呼び出してname属性とage属性値を設定し、speak()メソッドを呼び出します。
package com.shangjiti.aoian;
class student{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String stuName) {
if(stuName=="")
{
System.out.println("姓名不能为空");
}
else
{
name=stuName;
}
}
public int getAge() {
return age;
}
public void setAge(int stuAge) {
if(stuAge<=0)
{
System.out.println("设置年龄不合法");
}
else
{
age=stuAge;
}
}
public void speak() {
System.out.println("姓名是:"+name+"年龄为:"+age);
}
}
public class No3{
public static void main(String[] args) {
student stu=new student();
stu.setAge(-30);
stu.setName("");
stu.speak();
}
}
4.統合演習
除算クラス(除算)を定義し、int除算(被除数)型と除数(除数)型の2つのプライベートメンバー変数を定義します。デフォルト値は1です。プライベート属性を設定およびアクセスするための4つのパブリックメソッドsetDividend(int mDividend)、getDividend()、setDivisor(int mDivisor)、およびgetDivisor()を定義します。setDivisor(int mDivisor)メソッドで入力パラメーターを確認します。入力値がゼロの場合は「除数をゼロにすることはできません」と出力し、ゼロでない場合は除数属性の値に設定します。
package com.shangjiti.aoian;
class Divison{
private int divident=1;
private int divisor=1;
double result;
public void setDivident(int mDivident) {
divident=mDivident;
}
public int getDivident() {
return divident;
}
public void setDivisor(int mdivisor) {
if(mdivisor==0) {
System.out.println("除数不能为0");
}
else {
divisor=mdivisor;
}
}
public int getDivisor() {
return divisor;
}
}
public class No5 {
public static void main(String[] args) {
Divison a=new Divison();
a.setDivident(40);
a.setDivisor(8);
int divident=a.getDivident();
int divisor=a.getDivisor();
System.out.println(divident/divisor);
}
}