Хийсвэр класс гэдэг нь тухайн классаас шууд обьект үүсгэн ашиглах боломжгүй, зөвхөн удамшуулан хэрэглэх зориулалттай класс юм.
abstract public class Employee {
private String name;
public Employee(String name) {
setName(name);
}
public String getName() {
return new String(name);
}
private void setName(String name) {
this.name = new String(name);
}
abstract public double pay();
public String toString() {
return "name is " + name;
}
}
Хийсвэр класс нь хийсвэр method-уудтай байх бөгөөд хийсвэр method-уудыг дахин тодорхойлж ашиглана. Түүнээс гадна хийсвэр класс нь хийсвэр бус method-уудтай байж болдог. Харин хийсвэр хувьсагч гэсэн ойлголт байдаггүй шүү.
Одоо дээрх хийсвэр классаас удамшуулан ашигласан байдлыг харуулая.
public class Hourly extends Employee {
public Hourly(String name, double rate, double hours) {
super(name);
setRate(rate);
setHours(hours);
}
public void setRate(double rate) {
this.rate = rate;
}
public void setHours(double hours) {
this.hours = hours;
}
public double getRate() {
return rate;
}
public double getHours() {
return hours;
}
public double pay() {
return rate * hours;
}
public String toString() {
return super.toString() + " (rate is " + rate + " and hours are " + hours + ')';
}
private double rate;
private double hours;
}
Дээрх жишээнд Employee класс доторх pay() нэртэй method нь abstract буюу хийсвэр функц учир Hourly класс дотор дахин тодорхойлж (override) ашигласан байна.
No comments:
Post a Comment