让我详细地讲解一下“Java编程之继承问题代码示例”的完整攻略。
什么是继承?
继承是面向对象编程中的一个重要概念,它允许新的类继承现有类的属性和方法。这个新类称为子类或派生类,被继承的类称为父类或基类。子类继承父类后,可以在不破坏原有功能的情况下,增加或修改一些功能。这有助于实现代码重用,提高程序的灵活性。
继承问题代码示例
下面的代码演示了继承问题的示例:
public class Employee {
private String name;
private double salary;
public Employee(String name, double salary) {
this.name = name;
this.salary = salary;
}
public String getName() {
return name;
}
public double getSalary() {
return salary;
}
public void raiseSalary(double percent) {
double raise = salary * percent / 100;
salary += raise;
}
public String toString() {
return getClass().getName() + "[name=" + name + ",salary=" + salary + "]";
}
}
public class Manager extends Employee {
private double bonus;
public Manager(String name, double salary, double bonus) {
super(name, salary);
this.bonus = bonus;
}
public double getSalary() {
return super.getSalary() + bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
public String toString() {
return super.toString() + "[bonus=" + bonus + "]";
}
}
public class Main {
public static void main(String[] args) {
Employee fred = new Employee("Fred", 50000);
Manager alice = new Manager("Alice", 60000, 10000);
fred.raiseSalary(5);
alice.raiseSalary(5);
alice.setBonus(20000);
System.out.println(fred);
System.out.println(alice);
}
}
上述代码是一个简单的示例,包含了两个类Employee
和Manager
。Employee
类表示一个员工,它包含名称和薪水等属性,以及一些操作这些属性的方法;Manager
类继承了Employee
类并添加了一些额外的属性和方法,比如奖金。
在main
方法中,我们创建了一个Employee
对象和一个Manager
对象,并对他们进行了不同的操作。对于Manager
对象,我们还调用了setBonus
方法来修改其奖金值。
示例说明
示例1
在上面的示例中,我们演示了普通员工Fred
和经理Alice
的工资计算。员工的工资由原来的50000元涨了5%,增加了2500元,变成52500元。而经理的工资由原来的60000元,加上10000元的奖金,变成70000元。这是因为在Manager
类中重写了getSalary
方法,添加了奖金值的计算。
示例2
在Manager
类中,我们使用了super
关键字来调用父类中的方法。例如,在Manager
类中的toString
方法中,我们调用了super.toString()
来获取父类的toString
方法的返回结果,并在其基础上添加了奖金信息。
这个示例也说明了继承中“is a”关系的概念。例如,经理Manager
可以被视为一个员工Employee
,因为它继承了Employee
类中的属性和方法,并且还拥有额外的属性和方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java编程之继承问题代码示例 - Python技术站