CITATION

Keogh, James and Giannini, Mario. OOP Demystified. US: McGraw-Hill Osborne Media, 2004.

OOP Demystified

Published:  March 2004

eISBN: 9780071469951 0071469958 | ISBN: 9780072253634
  • Contents
  • Introduction
  • Chapter 1 A Look at How We See the World
  • The Stuff That Stuff Is Made Of
  • Abstract Objects and Instances
  • Why an Object?
  • Inheritance
  • Why Use Inheritance?
  • Objects in the Business World
  • Real-Life Objects and Object-Oriented Programming
  • Quiz
  • Chapter 2 What Is a Class?
  • The Object of Objects
  • A Class
  • Defining a Class
  • Attributes
  • Methods
  • Combining a Class with a Program
  • Declaring an Instance of a Class
  • Initializing an Instance Variable
  • Accessing an Instance Variable
  • Assigning a Value to an Instance Variable from Your Program
  • Calling a Method
  • Passing Parameters
  • Using a Return Value
  • Quiz
  • Chapter 3 Encapsulation
  • Parts of a Program Come Together
  • What Is Encapsulation?
  • Why Use Encapsulation?
  • Protection Using Access Specifiers
  • Public Access Specifier
  • Private Access Specifier
  • Protected Access Specifier
  • Encapsulation in Action Using C++
  • Inside the Write() Member Function
  • Inside the Display() Member Function
  • Inside the main() Function
  • Protected Access Specifier in Action
  • Encapsulation in Action Using Java
  • Protected Access Specifier in Action
  • Quiz
  • Chapter 4 Methods and Polymorphism
  • Methods
  • Polymorphism
  • Overloading Methods
  • Polymorphism Using C++
  • Interface
  • Interface Design
  • Binding
  • Run-Time Polymorphism
  • Run-Time Polymorphism in Action
  • Quiz
  • Chapter 5 Inheritance
  • Inheritance: The Only Way to Program
  • The Class Hierarchy
  • Types of Inheritance
  • Choosing the Right Type of Inheritance
  • Simple Inheritance Using C++
  • Simple Inheritance Using Java
  • Level Inheritance Using C++
  • Level Inheritance Using Java
  • Multiple Inheritance Using C++
  • Multiple Inheritance Using Java
  • Quiz
  • Chapter 6 Abstraction
  • Abstraction: The Enforcer
  • Function vs. Functionality
  • The Power of Abstraction
  • The Abstract Method
  • Abstraction in Action
  • Errors Galore
  • Frameworks, Libraries, and Abstraction
  • Quiz
  • Chapter 7 Identifying and Describing Objects
  • An Object
  • Identifying Attributes
  • Describing Attributes
  • Decomposing Attributes to Data
  • Identifying Behaviors
  • Describing Behaviors
  • Class Definition and Class Diagram
  • Relationships Among Objects
  • Entity Relationship Diagram
  • Leveling Diagram
  • Quiz
  • Chapter 8 Real-World Modeling
  • Theory vs. the Real World
  • From Simple Beginnings
  • Object-Oriented vs. Procedural Languages
  • Behavior Problems
  • Simulation May Not Be the Objective
  • Internal Model and External Model
  • Hierarchical Problems
  • Task Oriented, Not Object Oriented
  • Self-Contained Data vs. Wide Source of Data
  • The World in Discrete Pieces
  • Do We Think in Objects?
  • OOP and Data
  • Real-World Hierarchy
  • The Morphing of a Hierarchy
  • “Is a” Problems
  • The Real-World Challenges of Object-Oriented Programming
  • Data Storage
  • Common Procedures
  • Defining Objects
  • Hierarchy
  • The Computer World vs. the Real World
  • Quiz
  • Chapter 9 Collaboration
  • What Is Collaboration?
  • Inside a Process
  • OOP Collaboration
  • UML Sequence Diagrams
  • Is main() a Class?
  • Student Registration
  • UML Collaboration Diagrams
  • Collaboration and Inheritance
  • Association
  • Self-Collaboration
  • Class Responsibility Collaborator
  • Quiz
  • Chapter 10 Case Modeling
  • About Case Modeling
  • Oh No, Not End Users
  • Gathering Requirements
  • The Interview
  • Essential Use Case
  • System Use Case
  • Business Rules
  • User Interface Diagramming
  • User Interface Flow Diagramming
  • User Interface Prototyping
  • Defining Classes from Our Designs
  • Identifying Technical Requirements
  • Change Cases
  • Project Management
  • Clients
  • Projects
  • Work Requests
  • Tasks
  • Estimation
  • Quiz
  • Chapter 11 Interfaces
  • Inside Interfaces
  • Interfaces Are Not Classes
  • Interface Diagrams
  • Show Me the HTML
  • A Quick Introduction to HTML
  • The HTMLSource Interface
  • The Classes, Before an Interface Is Implemented
  • Implementing Interfaces in Java and C#
  • Bringing It All Together
  • What About C++?
  • Components
  • Standard Interfaces
  • Standard Java Interfaces
  • Standard C# Interfaces
  • Ultimate Base Classes
  • Quiz
  • Chapter 12 Object-Oriented Programming Languages
  • A History of Computers and Programming
  • The Three Dominant Modern OOPLs
  • C++
  • Java
  • C#
  • Quiz
  • Final Exam
  • Answers to Quizzes and Final Exam
  • Chapter 1
  • Chapter 2
  • Chapter 3
  • Chapter 4
  • Chapter 5
  • Chapter 6
  • Chapter 7
  • Chapter 8
  • Chapter 9
  • Chapter 10
  • Chapter 11
  • Chapter 12
  • Answers to Final Exam
  • Classes in Java
  • Interfaces
  • Packages
  • Classes in C++
  • Constructor and Destructor
  • Member Functions
  • Inline Functions
  • Unions, Structs, and Classes
  • Objects and Functions, Copy Constructors
  • Enums Inside Classes
  • Static Members
  • Class Definitions in C#
  • Destructors and Garbage Collection
  • Assemblies
  • Index