Chapter Contents

Previous

Next
SAS/AF Software Procedure Guide

CLASS Entries

CLASS entries (also referred to simply as classes) store the definitions of components that can be used to build FRAME entries. You use the BUILD procedure's Class Editor window to edit the component definitions in CLASS entries.

Note:   Changing the properties of a class changes the properties of all instances of the class and of any subclasses that are derived from the class.  [cautionend]

The class definition in a CLASS entry consists of the following elements:

Description
is a description for the CLASS entry that is also used as the name for the class when it appears in the Components window for use in building FRAME entries.

Parent Class
specifies the four-level name of the CLASS entry from which the current class inherits its attributes, methods, events, event handlers, and interfaces. Once you specify the parent class for a new class, you cannot change it.

Meta Class
specifies the optional four-level name of a CLASS entry of which the current class is an instance. The metaclass enables you to collect information about and modify the behavior of the current class at run time. The metaclass also enables the current class to obtain information about parent classes and child classes.

By default, all classes are instances of the Class metaclass. See the description of the Class class in SAS/AF Software: Class Dictionary for more information about the methods that the default metaclass provides.

Class Properties
define the appearance and behavior of the class. In the SAS Component Object Model (SCOM), classes have the following properties:
Attributes define characteristics of the component, such as its name, description, color, label, or size. Each attribute specification consists of a list of metadata that includes the attribute name, value, type, scope, description, and other items that enable functionality.
Methods define the operations that can be executed by any component you create from the class. Each method specification consists of a list of metadata that includes the method name, signature, description, and the name and label of the entry that contains the method implementation. A method's signature is comprised of the method's arguments and their types and order; it uniquely identifies the method to the SCL compiler.

Note:   The code that implements the method is not stored in the CLASS entry itself, but rather in an entry specified in the metadata. The implementation typically consists of a labeled CLASS, USECLASS, or METHOD section in an SCL entry.  [cautionend]

Events alert applications when there is a change of state, such as when the user clicks the mouse button on a component that was created from the class. Each event specification consists of a list of metadata that includes the event name, description, and items that determine whether the event is enabled and how it is sent.
Event handlers specify which methods are executed after events occur. Each event handler specification consists of an list of metadata that includes the name of the event that is handled, the name of the object that generates the event, the name of the method to execute in response to the event, and a description.
Interfaces enable components that you create from the class to indirectly call methods in another component. Each interface specification includes the name of the INTRFACE entry that contains the interface definition. Refer to INTRFACE Entries for more information.
Refer to SAS/AF Software: Class Dictionary for details about the attributes, methods, events, event handlers, and interfaces of the classes that are provided with SAS/AF software.

You can use RESOURCE entries to collect individual classes into libraries. Doing this simplifies the maintenance and deployment of the classes. See RESOURCE Entries for more information.

For an introduction to using classes and creating your own CLASS entries, refer to SAS Guide to Applications Development.


Chapter Contents

Previous

Next

Top of Page

Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.