I got a simple question. I have a class, which I use for purpose of splitting a string in 2 years:
public class Period {
int firstYear;
int secondYear;
Period () {
}
Period(String periode) {
String [] periodeSplit = periode.split("-");
this.firstYear = Integer.parseInt(periodeSplit[0]);
this.secondYear = Integer.parseInt(periodeSplit[1]);
}
public String toString() {
return "Firstyear: " + this.firstYear + "\n" + "Secondyear: " + this.secondYear;
}
}
I now want to extend this class, not splitting the data into 2 different ints but into 3 different ints. So besides the 2 already exisiting integer vars I want one extra. Whats the easiest way of doing this?
Your help is appreciated!
Kind regards,
Kipt Scriddy
I think it would be better (and quite easy) the create more general class that will be able to deal with any number of years you pass to it:
If the original class really have to be extended than it can be done like this:
I would recommand to change variable names ‘firstYear’ and ‘secondYear’ to something different, like ‘firstPart’, ‘secondPart’ because for extendedPeriod they aren’t years anymore (I left them in my code so it would compile with yours but called the new int ‘thirdPart’). I don’t feel that this is the best use of inheritance but if that’s what’s needed. I also wanted to reuse toString from Period like this:
but for it to have sense you would have to chagne toString method in Period not to call values ‘years’.