Introduction

Object-oriented programming (OOP) is a technique for writing computer software. The term object oriented refers to the methodology of developing software in which the emphasis is on the data, while the procedure or program flow is de-emphasized. That is, when designing an OOP program, you do not concentrate on the order of the steps that the program performs. Instead, you concentrate on the data in the program and on the operations that you perform on that data.
Advocates of object-oriented programming claim that applications that are developed using an object-oriented approach
  • are easier to understand because the underlying code maps directly to real-world concepts that they seek to model
  • are easier to modify and maintain because changes tend to involve individual objects and not the entire system
  • promote software reuse because of modular design and low interdependence among modules
  • offer improved quality because they are constructed from stable intermediate classes
  • provide better scalability for creating large, complex systems
Object-oriented application design determines which operations are performed on which data, and then groups the related data and operations into categories. When the design is implemented, these categories are called classes. A class defines the data and the operations that you can perform on the data. In SAS/AF software, the data for a class is defined through the class's attributes, events, event handlers, and interfaces. (Legacy classes store data in instance variables.) The operations that you perform on the data are called methods in SAS/AF software.
Objects are data elements in your application that perform some function for you. Objects can be visual objects that you place on the frame—for example, icons, push buttons, or radio boxes. Visual objects are called controls; they display information or accept user input.
Objects can also be nonvisual objects that manage the application behind the scenes; for example, an object that enables you to interact with SAS data sets may not have a visual representation but still provides you with the functionality to perform actions on a SAS data set such as accessing variables, adding data, or deleting data. An object or component is derived from, or is an instance of, a class. The terms object, component, and instance are interchangeable.
Software objects are self-contained entities that possess three basic characteristics:
state
a collection of attributes and their current values. Two of a Push Button control's attributes are label (the text displayed on the command push button) and commandOnClick (the command that executes when the command push button is pressed). You can set these values through the Properties window or through SCL.
behavior
a collection of operations that an object can perform on itself or on other objects. Methods define the operations that an object can perform. For example, a Push Button can set its own border style via the _setBorderStyle method.
identity
a unique value that distinguishes one object from another. In SAS/AF, this identifier is referred to as its object identifier. The object identifier is also used as the first-level qualifier in SCL dot notation.
This chapter describes how object-oriented techniques and related concepts are implemented in SAS Component Language (SCL) and in SAS/AF software.