Object-Oriented Programming Languages: Interpretation
1.1 Introduction Object-oriented programming has opened a great many perspectives on the concept of software and has been hailed as part of the solution to the so-called “software crisis”. It has given the possibility that software components can be constructedandreusedwithconsiderablymorecredibility.Therearenowmany case studies in which the reuse of object-oriented components has been made and analysed. Object-oriented programming relates the programming activity to that of modelling or simulation; objects are identi?ed by a correspondence with the objects found in the application area of the program and are used to model those domain operations. Object-oriented programming also opens the prospect of more ?exible software that is able to respond dynamically to the needs of the application at runtime. It is very easy to think that object-oriented programming can be performed in only one way. The prevalence of C++ and Java suggests that they are the onlywaytoapproachtheproblemofwhatanobject-orientedprogrammingl- guage should look like. There are many approaches to this way of programming andC++andJavaexemplifyjustoneofthesedi?erentapproaches.Indeed,the wayinwhichtheconceptoftheobjectisinterpreteddi?ersbetweenapproaches and between languages. The two main approaches found in object-oriented programming languages are, respectively, class-based and prototype-based languages. Class-based l- guages are exempli?ed by Smalltalk , C++ [75, 74] and Java . This 2 1. Introduction approach is based upon the identi?cation of common properties of objects and their description in terms of a de?nitional structure called a class. The objects manipulated by class-based programs are the result of instantiating classes.
What people are saying - Write a review
We haven't found any reviews in the usual places.
Other editions - View all
abstract class actor actual parameter allows approach argument array assignment base class BeCecil behaviour Beta block called chapter class defines class-based languages class-based programming cloning CLOS common Common LISP computation concept consider construct constructor container class copy created data slots declared defining class definition delegation Dylan dynamic binding Eiffel elements encapsulation end class entities evaluation example ExampleClass FIFO function graph implementation inheritance chain inheritance structure initialisation instantiated integer interface iterator Java lazy evaluation linearised LISP mechanism mixin module multiple inheritance nested class next-method nodes object object-oriented languages object-oriented programming Obliq operations overloading pattern performed pointer polymorphism possible problem procedure programming language properties prototype languages prototype-based language queue redefined reference root class runtime Sather semantics signature single inheritance slots and methods Smalltalk specialisation specification stack static statically typed subclass subtype superclass update variables virtual visible