package inclass; import java.awt.Rectangle; public class DataSetTester { public static void main(String[] args) { /* DataSet bankData = new DataSet(); bankData.add(new BankAccount(100)); BankAccount account = new BankAccount(1000); Measurable y = account; Measurable x = new Rectangle(5, 10, 15, 20); DataSet coinData = new DataSet(); coinData.add(new Coin(0.25, "quarter")); Coin coin = new Coin(0.10, "dime"); Measurable z = coin; DataSet coinData2 = new DataSet(); coinData2.add(new Coin(0.25, "quarter")); coinData2.add(new Coin(0.1, "dime")); coinData2.add(new Coin(0.05, "nickel")); Measurable max = coinData.getMaximum(); Coin maxCoin = (Coin) max; String name = maxCoin.toString(); System.out.println("DataSetTester ran."); */ // CREATING A BANKACCOUNT OBJECT AND A COIN OBJECT BankAccount ba = new BankAccount(500); Coin c = new Coin(10, "dime"); // IS IT POSSIBLE TO ASSIGN A BANKACCOUNT OBJECT TO AN INTERFACE TYPE? Measurable m = new BankAccount(1000); // IT IS POSSIBLE TO ASSIGN A COIN OBJECT TO AN INTERFACE TYPE? Measurable o = new Coin(25, "quarter"); // IS IT POSSIBLE TO ASSIGN A RECTANGLE OBJECT TO A MEASURABLE VARIABLE? //Measurable a = new Rectangle(5, 10, 15, 20); // IS IT POSSIBLE TO INSTANTIATE AN OBJECT OF TYPE MEASURABLE? //Measurable n = new Measurable(); // We just added a new, simple method printBalance() to the BankAccount class. // IS IT POSSIBLE TO CALL IT ON OBJECT ba, CREATED ABOVE? ba.printBalance(); // IS IT POSSIBLE TO CALL IT ON OBJECT m, CREATED ABOVE? // WITH AN INTERFACE VARIABLE, YOU CAN ONLY CALL // METHODS THAT ARE LISTED IN THE INTERFACE. //m.printBalance(); // IS IT POSSIBLE TO 'RECOVER' THE ORIGINAL OBJECT FROM AN INTERFACE VARIABLE? // TRY CASTING THE VARIABLE BankAccount r = (BankAccount) m; r.printBalance(); // IS IT POSSIBLE TO CHANGE THE OBJECT THAT AN INTERFACE VARIABLE REFERS TO? Measurable f = new BankAccount(750); System.out.println("Balance: " + f.getMeasure()); f = new Coin(5, "nickel"); System.out.println("Coin value: " + f.getMeasure()); f = new BankAccount(1500); System.out.println("Balance: " + f.getMeasure()); // This works, and it is an example of POLYMORPHISM } }