User Guide

Table Of Contents
202 Chapter 10: Building and Using ColdFusion Components
This section describes the following topics:
CFCs and object-oriented programming
When to use CFCs
CFCs and object-oriented programming
CFCs are building blocks that let you develop ColdFusion code in an object-oriented manner,
although CFCs do not require you to do object-oriented programming. Some of the object-
oriented features of CFCs include encapsulation, inheritance, and introspection. CFC object-
oriented features are similar to the object-oriented elements in other languages, like JavaScript.
The technique of incorporating both code and data into one object such as a CFC is known as
encapsulation. Encapsulation lets users pass data to and get a result from your CFC without
having to understand the underlying code. When you use encapsulation, you can validate data
that is passed to the CFC. CFCs can also enforce data types, check for required parameters, and
optionally assign default values.
One CFC can inherit the methods and properties of another CFC. Inheritance lets you build
multiple specific components without rewriting the code for the basic building blocks of the
components. For more information, see “Using inheritance and the Super keyword” on page 230.
CFCs support introspection; that is, they can provide information about themselves. If you display
a component page directly in an HTML browser, inspect it in the ColdFusion and Macromedia
Dreamweaver MX component browsers, or use the CFML
GetMetadata function, you see
information about the component. This information includes its path, property, methods, and
additional information that you can specify using special documentation attributes and tags. For
more information, see “Using introspection to get information about components” on page 236
When you use a ColdFusion component, you can simply invoke a method in the CFC. However,
typically, you create an instance of the CFC, and then invoke methods and refer to properties of
the CFC.
When to use CFCs
This section describes the ways in which you can use CFCs:
Developing structured, reusable code
Creating web services
Creating Macromedia Flash Remoting elements
Using asynchronous CFCs
Developing structured, reusable code
CFCs provide an excellent method for developing structured applications that separate display
elements from logical elements and encapsulate database queries. You can use CFCs to create
application functionality that you (and others) can reuse wherever needed, similar to user-defined
functions (UDFs) and custom tags. If you want to modify, add, or remove component
functionality, you make changes in only one component file.