Study Guide for CS 303E Test 3 (Summer 2009) Here are some specific topics that you will be tested on: * Use of String and StringBuffer in solutions of problems * Explain and compose regular expressions * Text File input and output * Definition of terms in OOP: abstraction, encapsulation, information hiding, inheritance, polymorphism * Define a class having: - a list of attributes - default and non-default constructors - accessors - mutators - any other method that is called for * Work with arrays of objects, use objects from user-defined classes as input parameters to a method as well as the return type for a method * Explanation of terms like: static, final, abstract, overriding, overloading, hiding (shadowing), runtime (late) binding * UML diagram to illustrate inheritance hierarchy * Write code to set up an inheritance hierarchy. Study programming assignment 12. * Explain and illustrate polymorphism through inheritance and polymorphism through interfaces. * Given pieces of code involving objects decide whether they are legal or not and explain why. * Given a method you should be able to determine its output for a given input parameter. The method could be recursive or non-recursive. * Write a method given the specifications. Study the array programming problems given in Study Guide 2. * Given a set of pre-defined methods, write code using them. * Extra Credit: You will be given an algorithm in English and you will have to write the code in Java. There will be no surprises in the test. It will be strictly based on the topics mentioned in this study guide. The best way to prepare yourself for the test is to write short programs that fulfill the requirements of the bulleted items.