Object-Oriented COBOLThis book walks COBOL users through the next phase of COBOL: Object-oriented COBOL (OOCOBOL). Written by experts in COBOL programming, Object-Oriented COBOL teaches you how to integrate COBOL with object-oriented methodologies. It provides explanations and roadmaps that will help you understand, navigate, and successfully integrate analysis and design concepts with enabling OOCOBOL constructs. Designed for current COBOL users and based on the authors' experience teaching object-oriented COBOL, Object-Oriented COBOL can be used by COBOL programmers to begin programming effectively with objects in as little as twelve weeks, significantly less than the steep learning curve of twelve to twenty-four months for Smalltalk and C++. Object-Oriented COBOL also includes extensive examples and experiences, written in OOCOBOL, that explain the defining traits of an object-oriented language, such as encapsulation, inheritance, and polymorphism. |
Contents
COBOL AND OBJECTS? | 3 |
FOCUS OF THIS CHAPTER | 4 |
WHY OBJECTS? | 5 |
WHAT IS AN OBJECT? | 6 |
WHY OBJECTORIENTED COBOL? | 9 |
A BRIEF HISTORY OF OBJECTS | 11 |
AN OBJECTORIENTED COBOL MODEL | 19 |
FOCUS OF THIS CHAPTER | 20 |
OBJECTRELATION CONDITIONS | 198 |
CONFORMANCE | 199 |
INLINE METHOD INVOCATION | 221 |
USING INLINE INVOCATION | 223 |
THE PROPERTY CLAUSE | 229 |
THE NOSET ATTRIBUTE | 231 |
THE NOGET ATTRIBUTE | 232 |
NESTED PROPERTIES | 233 |
RESPONSIBILITYDRIVEN DESIGN | 21 |
THE COMPONENTS OF CONSTRUCTION | 22 |
CLASS LIBRARIES | 36 |
OBJECT TECHNOLOGYA CONSISTENT APPROACH | 37 |
CONSTRUCTS | 41 |
CLASSESA MATTER OF STRUCTURE | 43 |
A QUICK LOOK AT THE SYNTAX | 44 |
THE CLASS PROGRAM | 45 |
THE CLASS DEFINITION | 47 |
THE FACTORY OBJECT | 54 |
METHODS | 59 |
THE METHOD DEFINITION | 60 |
THE CLASS INTERFACE | 66 |
PUTTING THE PIECES TOGETHER | 67 |
CLASSES IN APPLICATIONS | 75 |
OBJECTS | 87 |
THE CONTEXT OF AN OBJECT DEFINITION | 88 |
THE OBJECT DEFINITION | 90 |
METHODS | 94 |
THE METHOD DEFINITION | 97 |
OBJECT HANDLES | 98 |
OBJECT NOTATION | 102 |
THE EVOLUTION OF PROGRAMMING LANGUAGES | 103 |
RESPONSIBILITYDRIVEN DESIGN AND OBJECTS | 106 |
INHERITANCE | 109 |
FOCUS AND FORMAT OF THIS CHAPTER | 110 |
ABSTRACT CLASSES | 112 |
THE INHERITANCE HIERARCHY | 114 |
MULTIPLE INHERITANCE | 122 |
CLASS RELATIONSHIP DIAGRAMS | 126 |
OBJECTS IN ACTION | 133 |
MESSAGES | 135 |
MESSAGES | 136 |
THE INVOKE STATEMENT | 137 |
SPECIFYING OBJECT BEHAVIOR | 146 |
APPLYING RESPONSIBILITYDRIVEN DESIGN | 149 |
CREATING AND DESTROYING OBJECTS | 151 |
FOCUS AND FORMAT OF THIS CHAPTER | 152 |
CREATING OBJECTS | 154 |
CREATING OBJECTS WITH RESTRICTIONS | 168 |
DESTROYING OBJECTS | 175 |
RESPONSIBILITYDRIVEN DESIGN AND CREATING OBJECTS | 182 |
WORKING WITH OBJECTS | 191 |
FOCUS AND FORMAT OF THIS CHAPTER | 192 |
APPLYING INLINE INVOCATIONS AND PROPERTIES | 238 |
WORKING WITH STATIC OBJECTS | 239 |
COLLECTIONS | 251 |
FOCUS AND FORMAT OF THIS CHAPTER | 252 |
OFREFERENCES | 258 |
CREATING CHARACTERARRAY INSTANCES | 276 |
CREATING DICTIONARY INSTANCES | 292 |
COLLECTIONS IN ACTION | 304 |
PUTTING OBJECTS TO WORK | 307 |
OBJECTORIENTED ANALYSIS AND DESIGN | 309 |
ANALYSIS AND DESIGN | 310 |
ROLLING LIFECYCLE PERSPECTIVE | 313 |
A WORKED EXAMPLE OF OBJECTORIENTED ANALYSIS AND DESIGN | 324 |
MIGRATING LEGACY SYSTEMS | 337 |
LEGACY OPTIONS | 338 |
DO NOTHING OBJECT ORIENTED | 339 |
GUI INTERFACES FOR LEGACY CODE | 340 |
ADDING OBJECTBASED FUNCTIONALITY TO AN APPLICATION | 341 |
WRAPPING PROGRAMS | 342 |
LEGACY APPLICATIONS AND DISTRIBUTED COMPUTING | 345 |
OBJECTORIENTED COBOL VENDORS HITACHI IBM AND MICRO FOCUS | 349 |
HITACHI | 350 |
IBM | 356 |
MICRO FOCUS | 357 |
OTHER FEATURES NOT SUPPORTED BY THE VENDORS | 361 |
THE LIBRARY APPLICATION | 363 |
NOTES ON STYLE | 364 |
CRC CARDS | 365 |
DIAGRAMS | 370 |
THE LIBRARY APPLICATION CODE | 373 |
COBOL RESERVED WORDS | 417 |
NEW COBOL RESERVED WORDS | 423 |
INTRINSIC FUNCTIONS | 425 |
COBOL 8589 FEATURES | 431 |
DATA SHARING | 433 |
INTRINSIC FUNCTIONS | 436 |
CURRENTDATE DAYOFINTEGER DATEOFINTEGER INTEGEROFDATE INTEGEROFDAY | 437 |
MISCELLANEOUS | 438 |
THE PROPOSED COBOL 97 LANGUAGE SYNTAX | 441 |
PROGRAM INSTRUCTION FORMATS | 489 |
GLOSSARY | 491 |
INDEX | 495 |
Common terms and phrases
aBag accessor methods aDBMgrHandle aPolicyHandle application argument-1 aString attributes Audio Book Inherits Book object calculate-due-date calculate-fine CharacterArray Check-Out class Item Class Library class methods class program Class-1 Class-Id class-name class-name-1 COBOL 97 collection classes Configuration Section CRC cards created Data Division data item data types data-name data-name-1 declared Dictionary End Factory End Method End Object End-Evaluate End-Invoke Environment Division example Exit Method factory object Figure Format FUNCTION Get-Status Identification Division identifier-1 imperative-statement-1 in-line invocation interface Invoke Book Invoke object-identifier-1 method-name Invoke statement Is-item-due-date Is-PolicyHandle Librarian Linkage Section literal-1 Method-1 Method-Id Methods Data methods defined Micro Focus Move Object Definition object handle object identifier object instances object methods Object Reference Book object technology Object-Oriented COBOL object-oriented programming optional parameter Procedure Division Program-ld Rare-Book Report-Status Report-Title Repository reserved word responsibility-driven design responsible Running-Count Smalltalk specified Status subclass superclass syntax Video Working-Storage Section
Popular passages
Page ii - ... OBJECT TECHNOLOGY SERIES Dr. Richard S. Wiener Series Editor Editor Journal of Object-Oriented Programming Report on Object Analysis and Design SIGS Publications, Inc. New York, New York and Department of Computer Science University of Colorado Colorado Springs, Colorado 1 . Object Lessons: Lessons Learned in Object-Oriented Development Projects, Tom Love 2. Objectifying Real-Time Systems, John R. Ellis 3. Object Development Methods, edited by Andy Carmichael 4. Inside the Object Model: The Sensible...
Page ii - Department of Computer Science University of Colorado Colorado Springs, Colorado 1. Object Lessons: Lessons Learned in Object-Oriented Development Projects • Tom Love 2. Objectifying Real-Time Systems • John R. Ellis 3. Object Development Methods • edited by Andy Carmichael 4. Inside the Object Model: The Sensible Use of C++ • David M. Papurt 5. Using Motif with C++ • Daniel J. Bernstein 6. Using CRC Cards: An Informal Approach to Object-Oriented Development • Nancy M. Wilkinson 7. Rapid...