Try OpenEdge Now
skip to main content
Object-oriented Programming
Object-oriented Programming and ABL : Support for classes in ABL : Advantages of classes in ABL

Advantages of classes in ABL

Support for object-oriented programming in ABL provides the following benefits for ABL application development:
*Classes support a powerful programming model by encapsulating related functionality into objects. The benefit of organized code is especially important for maintenance, where changes or enhancements can be limited to the objects that are affected by the change.
*Classes enhance code reuse. Common code can be put into one class and shared among other related classes. The related classes can provide specialized behavior whenever necessary to extend the initial class functionality, as well as the functionality of other related classes.
*Classes provide strong typing that enables ABL to do compile-time checking in order to catch errors before the code is deployed or executed. This compile-time checking verifies all interfaces for correctness, not just the ones that are accessed during run-time testing, as with procedures.
*The object-oriented support using classes maps much more closely to the constructs used in a service-oriented architecture (SOA) and to those used by modeling tools and other design tools that are increasingly used to provide a basis for application design, and even code generation.
*ABL support for classes includes access to .NET objects, which allows you to work with .NET object types on Windows together with ABL class-based object types. Using the OpenEdge GUI for .NET, you can use .NET form and control objects to create a .NET graphical user interface for all Windows-based GUI ABL clients. Using non-GUI .NET objects, you can also access non-GUI .NET features in all ABL sessions that run on Windows, including non-GUI sessions such as character-mode clients and AppServer agents. For more information, see OpenEdge Development: GUI for .NET Programming.