2人は、同じ会社と従業員で働いている経験について多くの共通点を持っています。たとえば、給与は毎月支払われますが、マネージャーはターゲットタスクを完了した後にもボーナスを受け取ります。現時点では、従業員クラスを使用してマネージャークラスを作成するとコードが少なくなり、継承テクノロジーを使用すると、マネージャークラスが従業員クラスで定義された属性と方法を使用できます。継承することにより、マネージャーと従業員の違いを示すプログラムを作成します。
アイデア分析:典型的な継承の問題。親クラスは従業員クラスであり、サブクラスはマネージャークラスを継承しているため、マネージャークラス、つまりボーナスを表すメンバー変数とメンバーのメソッドを表すメンバー変数のみが実装されています。ボーナスの設定と取得。
コードは次のとおりです。
コードコピーは次のとおりです。
Import Java.util.date;
パブリッククラスの従業員{
プライベート文字列名; //従業員の名前
プライベート給与。//従業員の給与
プライベートデートの誕生日
public string getName(){//従業員の名前を取得します
返品名;
}
public void setName(string name){//従業員の名前を設定します
this.name = name;
}
public double getSalary(){//従業員の給与を取得します
返品給与;
}
Public void setSalary(二重給与){//従業員の給与を設定する
this.salary = salary;
}
Public Date getBirthday(){//従業員の誕生日を取得します
誕生日を返す;
}
public void setbirthday(日付の誕生日){//従業員の誕生日を設定します
this.birthday = Birthday;
}
}
パブリッククラスマネージャーは従業員を拡張します{
プライベートダブルボーナス; //マネージャーのボーナス
public double getbonus(){//マネージャーのボーナスを取得します
返品ボーナス。
}
public void setbonus(ダブルボーナス){//マネージャーのボーナスを設定します
this.bonus = bonus;
}
}
Import Java.util.date;
パブリッククラステスト{
public static void main(string [] args){
従業員従業員=新しい従業員(); //従業員オブジェクトを作成し、それに値を割り当てる
Employee.setName( "Java");
Employee.setsalary(100);
employee.setbirthday(new Date());
マネージャーマネージャー= new Manager(); //マネージャーオブジェクトを作成し、値を割り当てます
Manager.setName( "明日テクノロジー");
Manager.Setsalary(3000);
manager.setbirthday(new Date());
Manager.setbonus(2000);
//出力マネージャーと従業員属性値
system.out.println( "従業員の名前:" + employee.getName());
System.out.println( "従業員の給与:" + employee.getSalary());
System.out.println( "従業員の誕生日:" + employee.getBirthday());
System.out.println( "マネージャーの名前:" + manager.getName());
System.out.println( "マネージャーの給与:" + manager.getSalary());
System.out.println( "マネージャーの誕生日:" + manager.getBirthday());
system.out.println( "マネージャーのボーナス:" + manager.getbonus());
}
}
効果は図に示されています: