True or false?
Programs written in an object-oriented style tend to be organized significantly differently from programs written in a functional or procedural style. Answer
All object-oriented programming languages are statically typed. Answer
In object-oriented programming, an object is represented as a structure holding variables and all of the methods that the object can perform. Answer
In a single-inheritance object-oriented language, is there a limit on the number of base classes that a class can have? Answer
In a single-inheritance object-oriented language, is there a limit on the number of subclasses that a class can have? Answer
In object-oriented programming, you imagine that objects carry methods with them. Yet, the methods are not really stored with the objects. How does an object locate its methods? How does it know which methods to select? What is the name of the system support that is responsible for locating methods? Answer
How does the mechanism for inheriting variables work in single-inheritance object-oriented languages? Is there a separate implementation of each selector for each class, or does one implementation of each selector work for all classes? How do the selector(s) work? Answer
What are the characteristics of a virtual method? What makes it virtual? Answer
What is an abstract class? Answer
What is the significance of λ-calculus to the semantics of programming languages? Answer
If you perform a single beta reduction on expression (λx.λy.x x y)(λz.z z), what do you get?
For this problem, the following λ-calculus functions are assumed to be predefined, where x and y are Church-numerals and true and false are the standard boolean values.
Suppose that function k is defined in λ-calculus by k = λf.λx.if (isZero(x)) (
If function g is defined by g = fix k, then which of the following is true of g? ) (times ( ) (f (pred x))).