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.