Objects

<< Click to Display Table of Contents >>

 

Objects

Objects are reusable software components that allow maximizing usage, and increasing quality and productivity of applications.

An E3 object encapsulates or contains three different parts (properties, methods, and events) that users can manipulate to use the advantages of its functionality in their applications.

Properties define attributes of an object, such as the appearance of a Screen object or the initial value of an object when an application starts.

Methods are functions that perform a specific action with or within an object.

Events are notifications generated by an object as a response to some particular occurrence, such as a mouse click or a change in a Tag's value, among others.

One of the main features of objects and object-oriented languages is their ability of inheritance among each other, that is, they can inherit features of one or more objects, having the same specific functionality. So, users can have different objects working together to provide features of another derived object.

Take, for example, an E3Chart object. It is composed internally of many objects, such as titles, legends, scales, divisions, queries, and pens. Notice that each object contributes for E3Chart's functionality as a whole: scales help locating E3Chart's point values, legends help identifying pens and their values, and pens help drawing values in an E3Chart.

By handling objects within an E3Chart, users can create two instances of this object that are very different among each other. To handle a specific object, users must access it through a hierarchy. If both E3Charts are on the same Screen, users must first access the Screen, then the preferred E3Chart, and then one of its properties or child objects. When there are many objects of the same type, usually they can be accessed through a collection. A collection is a special object that manages a set of similar objects. An example in E3Chart is the Pens collection, which allows access to all E3Chart pens.

Was this page useful?