49. Program to an implement
Sniper soldier = new Sniper();
soldier.attack();
50. Program to an interface
Sniper soldier = new Sniper();
soldier.attack();
Soldier soldier = new Sniper();
soldier.attack();
51. Sniper soldier = new Sniper();
soldier.attack();
Soldier soldier = new Sniper();
soldier.attack();
Soldier soldier = getSoldier();
soldier.attack();
Program to an interface
59. public abstract class Duck {
QuackBehavior quackBehavior;
FlyBehavior flyBehavior;
!
public void performQuack() {
quackBehavior.quack();
}
public void performFly() {…}
}
60. public abstract class Duck {
QuackBehavior quackBehavior;
FlyBehavior flyBehavior;
!
public void performQuack() {
quackBehavior.quack();
}
public void performFly() {…}
}
public class MallardDuck extends Duck {
!
public MallardDuck() {
quackBehavior = new Quack();
flyBehavior = new FlyWithNoWings();
}
!
public void display() {…}
}
61.
62. public class DuckSimulator {
!
public static void main(String[] args) {
Duck mallard = new MallardDuck();
mallard.performQuack();
}
}
63. public class DuckSimulator {
!
public static void main(String[] args) {
Duck mallard = new MallardDuck();
mallard.performQuack();
}
}