Chapter 14 - The Movement to Objects Flashcards
What are object-oriented systems?
Object-oriented systems focus on capturing the structure and behavior of information systems in little modules, also known as objects, that encompass both data and processes.
What is a class?
A class is the general template used to define and create specific instances, or objects. Every object (or instance) is part of a class.Classes themselves have attributes that describe them, and methods.
What is a method?
A method is an action that an object can perform.
What is a message?
A message is information that’s sent to an object in order to trigger a method.
What is encapsulation?
Encapsulation is simply the process of combining of process and data into a single entity.
What is information hiding?
Information hiding is the principle that only the information required to use a software module be published to the user of said module.
What is inheritance?
Inheritance is the idea that classes can inherit attributes or methods from “higher-level”, more general classes.
What is a superclass? What about a subclass?
A superclass is a collection of common attributes and methods. A subclass is a more specific version of a superclass, adding attributes and methods to the subclass that are unique to it.
What is polymorphism?
Polymorphism is the principle that the same message can be interpreted differently by different classes of objects. An INSERT command means something different to the "customer" class than it does to the "reservation" class. Polymorphism is made possible through dynamic binding, which delays identifying the type of an object until run-time, and therefore delays the need for a specific method being chosen until the system is actually running.
What is a concrete class?
A concrete class is any class that has instances. Contrast to abstract classes, which cannot have instances.
What methodologies can be used with object-oriented approaches?
Object-oriented approaches can be used with any traditional methodologies, and are most commonly used with iterative development RAD methodologies.
What is UML?
UML is unified modeling language, a standard set of diagramming techniques used in object-oriented systems analysis and design.
What is required for an approach to be considered “object-oriented”?
For an approach to be object-oriented, it must be:
- Use case driven, that is, use cases must be the primary tool for modeling.
- Architecture-centric, that is, the architecture of the system drives all parts of the system (including things like documentation, construction, specification, etc)
- Iterative and Incremental, that is, there is continuous development and testing throughout the entire life of the project.