public void setname (string n){} public void setafm (string a){}
these superclass methods need call.
salariedemployee (){ name = super.setname(string n); afm = super.setafm(string a); salary = payment();
and thats constructor in subclass. how can call methods properly. don't want use parameters in salariedemployee, want set name , afm superclass methods. methods void. guess have change right ? or missing else? in advance!
edit : can use setters. "super" keyword mandatory if want call method superclass have overridden in subclass.
you should use constructors set initial values using setters possible solution :
class employee { string name; string afm; public employee() { } public employee(string name, string afm) { super(); this.name = name; this.afm = afm; } public void setname(string name) { this.name = name; } public void setafm(string afm) { this.afm = afm; } } class salariedemployee extends employee { //using constructors public salariedemployee(string name, string afm) { super(name, afm); salary = payment(); } //using setters public salariedemployee() { setafm("afm"); setname("name"); salary = payment(); } }
also setter method 'setname' should void because don't expect return unlike getter method 'getname' example.
Comments
Post a Comment