Advertisement
Guest User

Untitled

a guest
Apr 24th, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. public class ClassC extends ClassB {
  2.  
  3. //additional functionality
  4.  
  5. }
  6.  
  7. public class Class1 extends ClassC {...}
  8.  
  9. public abstract class ParentOfB {
  10.  
  11. // Additional functionality
  12. }
  13.  
  14. public class B extends ParentOfB { // The only change in B
  15.  
  16. }
  17.  
  18. public class B1 {
  19. public void b1() {
  20. System.out.println("B1");
  21. }
  22. }
  23.  
  24.  
  25. public class C1 extends B1 {
  26. public void c1() {
  27. System.out.println("C1");
  28. }
  29. }
  30.  
  31. -------------------------- Adding New B1 Functionality to C1 ---------------------
  32.  
  33. public interface B_EXTRA {
  34. void b_extra();
  35. }
  36.  
  37. public class B_EXTRA_IMPL implements B_EXTRA {
  38.  
  39. public B1 m_b1;
  40.  
  41. B_EXTRA_IMPL(B1 base) {
  42. m_b1 = base;
  43. }
  44.  
  45. @Override
  46. public void b_extra() {
  47. System.out.println("b_extra");
  48.  
  49. }
  50. }
  51.  
  52. public class C1X extends C1 implements B_EXTRA {
  53. B_EXTRA_IMPL b_extra;
  54.  
  55. C1X() {
  56. super();
  57. b_extra = new B_EXTRA_IMPL((B1)this);
  58. }
  59.  
  60. public void b1()
  61. {
  62. System.out.println("B1");
  63. }
  64.  
  65. @Override
  66. public void b_extra() {
  67. b_extra.b_extra();
  68. }
  69. }
  70.  
  71. public class D1 extends C1X {
  72. }
  73.  
  74. public class Main {
  75. public static void main(String[] args) {
  76. D1 d = new D1();
  77. d.b1();
  78. d.c1();
  79. d.b_extra();
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement