Except where otherwise noted, the contents of this document are Copyright 2013 Stuart Reges and Marty Stepp.
lab document created by Marty Stepp, Stuart Reges and Whitaker Brand
Goals for this problem set:
public class ClassName extends SuperClass {
...
}
super keyword:super.methodName(parameters);
Car and Truck
public class Car {
public void m1() {
System.out.println("car 1");
}
public void m2() {
System.out.println("car 2");
}
public String toString() {
return "vroom";
}
}
|
public class Truck extends Car {
public void m1() {
System.out.println("truck 1");
}
}
|
Truck mycar = new Truck(); System.out.println(mycar); // vroom mycar.m1(); // truck 1 mycar.m2(); // car 2
Car and Truck revisited
public class Car {
public void m1() {
System.out.println("car 1");
}
public void m2() {
System.out.println("car 2");
}
public String toString() {
return "vroom";
}
}
|
public class Truck extends Car {
public void m1() {
System.out.println("truck 1");
}
public void m2() {
super.m1();
}
public String toString() {
return super.toString() + super.toString();
}
}
|
Truck code changes as shown above.
What is the output now?
Truck mycar = new Truck(); System.out.println(mycar); // vroomvroom mycar.m1(); // truck 1 mycar.m2(); // car 1
MonsterTruck
MonsterTruck that has the behavior below.
Test by running AutoMain.
/.
MonsterTruck bigfoot = new MonsterTruck(); bigfoot.m1(); // monster 1 bigfoot.m2(); // truck 1 / car 1 System.out.println(bigfoot); // monster vroomvroom
Employee and has the methods
getHours,
getSalary,
getVacationDays, and
getVacationForm.
Marketer
Marketer to accompany the other employees.
Marketers make $50,000 ($10,000 more than general employees),
and they have an additional method named advertise that prints "Act now, while supplies last!"
super keyword to interact with the Employee superclass as appropriate.
Janitor
Janitor to accompany the other employees.
Janitors work twice as many hours (80 hours/week),
they make $30,000 ($10,000 less than others),
they get half as much vacation (only 5 days),
and they have an additional method named clean that prints "Workin' for the man."
super keyword to interact with the Employee superclass as appropriate.
HarvardLawyer
HarvardLawyer to accompany the other employees.
Harvard lawyers are like normal lawyers, but they make 20% more money than a normal lawyer,
they get 3 days more vacation, and they have to fill out four of the lawyer's forms to go on vacation.
That is, the getVacationForm method should return "pinkpinkpinkpink".
Lawyer's vacation form ever changed, the HarvardLawyer's should as well.
For example, if Lawyer's vacation form changed to "red",
the HarvardLawyer's should return "redredredred".)
super keyword to interact with the Employee superclass as appropriate.