/*CSU 214 - QUIZ 9 */ interface ISelect{ public boolean select(Object obj); } /* +--------------+ | Cat | +--------------+ | Sting name | | String owner | +--------------+ */ // to represent an animal class Cat { Sting name; String owner; Cat(Sting name, String owner) { this.name = name; this.owner = owner; } } /*-------------------------------------------------------------------------------- Design the class that implements the ISelect inteface by selecting all cats who have the given owner. --------------------------------------------------------------------------------*/ class SameOwner implements ISelect{ String owner; SameOwner(String owner){ this.owner = owner; } // is this the owner of the given cat public boolean select(Object obj){ if (obj instanceof Cat) return this.owner.equals(((Cat)obj).owner); else return false; } } /* Examples: */ class Examples{ ISelect catlover = new SameOwner("Catlover"); ISelect edward = new SameOwner("Edward"); Cat boots = new Cat("Boots", "Catlover"); Cat blackie = new Cat("Blackie", "Edward"); catlover.select(boots) ---> true catlover.select(blackie) ---> false edward.select(boots) ---> false edward.select(blackie) ---> true }