CSE142 Inheritance/Polymorphism Problems handout #17 1. Assume that the following classes have been defined: public class Foo { public String toString() { return "foo"; } public void method1() { System.out.println("foo 1"); } public void method2() { System.out.println("foo 2"); } } public class Bar extends Foo { public void method2() { System.out.println("bar 2"); } } public class Baz extends Foo { public String toString() { return "baz"; } public void method1() { System.out.println("baz 1"); } } public class Mumble extends Baz { public void method2() { System.out.println("mumble 2"); } } Consider the following code fragment: Foo[] elements = {new Foo(), new Bar(), new Baz(), new Mumble()}; for (int i = 0; i < elements.length; i++) { System.out.println(elements[i]); elements[i].method1(); elements[i].method2(); System.out.println(); } What output is produced by this code? (write the output as a series of 3-line columns in order from left to right)
2. Assume the following classes have been defined: public class Foo extends Blue { public String toString() { return "foo"; } public void method2() { System.out.println("foo 2"); } } public class Blue extends Moo { public void method1() { System.out.println("blue 1"); } } public class Shoe extends Foo { public void method1() { System.out.println("shoe 1"); } } public class Moo { public String toString() { return "moo"; } public void method1() { System.out.println("moo 1"); } public void method2() { System.out.println("moo 2"); } } Consider the following code fragment: Moo[] elements = {new Shoe(), new Foo(), new Moo(), new Blue()}; for (int i = 0; i < elements.length; i++) { System.out.println(elements[i]); elements[i].method1(); elements[i].method2(); System.out.println(); } What output is produced by this code? (write the output as a series of 3-line columns in order from left to right)
Solution to CSE142 Inheritance/Polymorphism Problems 1. The program produces the following output: foo foo baz baz foo 1 foo 1 baz 1 baz 1 foo 2 bar 2 foo 2 mumble 2 2. The program produces the following output: foo foo moo moo shoe 1 blue 1 moo 1 blue 1 foo 2 foo 2 moo 2 moo 2
Stuart Reges
Last modified: Fri Mar 8 09:32:23 PST 2019