Book contents
- Frontmatter
- Contents
- Acknowledgments
- Foreword
- Preface
- About the Author
- Chapter 1 Leading-Edge Software Development
- Chapter 2 Understanding the Basics–Object-Oriented Concepts
- Chapter 3 Full Lifecycle Object-Oriented Testing (FLOOT)
- Chapter 4 Agile Model–Driven Development (AMDD)
- Chapter 5 Usage Modeling
- Chapter 6 User-Interface Development
- Chapter 7 Supplementary Requirements
- Chapter 8 Conceptual Domain Modeling
- Chapter 9 Business Process Modeling
- Chapter 10 Agile Architecture
- Chapter 11 Dynamic Object Modeling
- Chapter 12 Structural Design Modeling
- Chapter 13 Object-Oriented Programming
- Chapter 14 Agile Database Development
- Chapter 15 Where to Go from Here
- Glossary
- References and Recommended Reading
- Index
Chapter 2 - Understanding the Basics–Object-Oriented Concepts
Published online by Cambridge University Press: 03 March 2010
- Frontmatter
- Contents
- Acknowledgments
- Foreword
- Preface
- About the Author
- Chapter 1 Leading-Edge Software Development
- Chapter 2 Understanding the Basics–Object-Oriented Concepts
- Chapter 3 Full Lifecycle Object-Oriented Testing (FLOOT)
- Chapter 4 Agile Model–Driven Development (AMDD)
- Chapter 5 Usage Modeling
- Chapter 6 User-Interface Development
- Chapter 7 Supplementary Requirements
- Chapter 8 Conceptual Domain Modeling
- Chapter 9 Business Process Modeling
- Chapter 10 Agile Architecture
- Chapter 11 Dynamic Object Modeling
- Chapter 12 Structural Design Modeling
- Chapter 13 Object-Oriented Programming
- Chapter 14 Agile Database Development
- Chapter 15 Where to Go from Here
- Glossary
- References and Recommended Reading
- Index
Summary
Object-oriented concepts seem simple.
Don't be deceived.
You need to understand object-oriented (OO) concepts before you can successfully apply them to systems development. Because OO techniques grew, in part, out of the disciplines of software engineering, artificial intelligence, and information modeling, many of them will seem familiar to you. Do not let this make you complacent—you also need to understand several new concepts.
This chapter explores the following:
A brief overview of OO concepts;
OO concepts from a structured point of view;
The diagrams of the unified modeling language (UML 2);
Objects and classes;
Attributes and operations;
Abstraction, encapsulation, and information hiding;
Inheritance;
Persistence;
Relationships;
Collaboration;
Polymorphism;
Interfaces;
Components; and
Patterns.
A BRIEF OVERVIEW OF OO CONCEPTS
This chapter discusses the concepts that make up the foundation of OO development techniques. People experienced with structured technologies such as COBOL and FORTRAN will have seen some of these concepts before, and some will be new to you. For example, many concepts that go to the heart of OO—encapsulation, coupling, and cohesion—come from software engineering. These concepts are important because they underpin good design regardless of the technology you are working with. The main point to be made here is you do not want to deceive yourself: just because you have seen some of these concepts before, it does not mean you were doing OO; it just means you were doing good design. While good design is a big part of object orientation, there is a lot more to it than that.
OO concepts appear deceptively simple. Do not be fooled.
- Type
- Chapter
- Information
- The Object PrimerAgile Model-Driven Development with UML 2.0, pp. 23 - 67Publisher: Cambridge University PressPrint publication year: 2004