Book contents
- Frontmatter
- Contents
- Preface
- Part 1 Functions and Foundations
- Part 2 Procedures, Types, Memory Management, and Control
- Part 3 Modularity, Abstraction, and Object-Oriented Programming
- 9 Data Abstraction and Modularity
- 10 Concepts in Object-Oriented Languages
- 11 History of Objects: Simula and Smalltalk
- 12 Objects and Run-Time Efficiency: C++
- 13 Portability and Safety: Java
- Part 4 Concurrency and Logic Programming
- Appendix A Additional Program Examples
- Glossary
- Index
10 - Concepts in Object-Oriented Languages
from Part 3 - Modularity, Abstraction, and Object-Oriented Programming
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Part 1 Functions and Foundations
- Part 2 Procedures, Types, Memory Management, and Control
- Part 3 Modularity, Abstraction, and Object-Oriented Programming
- 9 Data Abstraction and Modularity
- 10 Concepts in Object-Oriented Languages
- 11 History of Objects: Simula and Smalltalk
- 12 Objects and Run-Time Efficiency: C++
- 13 Portability and Safety: Java
- Part 4 Concurrency and Logic Programming
- Appendix A Additional Program Examples
- Glossary
- Index
Summary
Over the past 30 years, object-oriented programming has become a prominent software design and implementation strategy. The topics covered in this chapter are object-oriented design, four key concepts in object-oriented languages, and the way these language concepts support object-oriented design and implementation.
An object consists of a set of operations on some hidden data. An important characteristic of objects is that they provide a uniform way of encapsulating almost any combination of data and functionality. An object can be as small as a single integer or as large as a file system or database. Regardless of its size, all interactions with an object occur by means of simple operations that are called messages or member-function calls.
If you look in magazines or research journals, you will find the adjective object-oriented applied to a variety of languages. As object orientation has become more popular and gained wider commercial acceptance, advocates of specific languages have decided that their favorite language is now object oriented. This has created some amount of confusion about the meaning of object oriented. In this book, we are interested in making meaningful distinctions between different language features and understanding how specific features support different kinds of programming. Therefore, the term object-oriented language is used to refer to programming languages that have objects and the four features highlighted in this chapter: dynamic lookup, abstraction, subtyping, and inheritance.
- Type
- Chapter
- Information
- Concepts in Programming Languages , pp. 277 - 299Publisher: Cambridge University PressPrint publication year: 2002