Visual Component Library

Visual Component Library (VCL) とは、視覚化された(ビジュアルな)ソフトウェアコンポーネントを元にして、Microsoft WindowsGUIアプリケーションを作成するためのソフトウェアライブラリおよびフレームワークである。ボーランドが、自社のソフトウェア統合開発環境 (IDE) であるDelphiC++ Builderのために開発した。Object Pascalで記述されている。

VCLはボーランドのRADツールと密接に統合されており、プログラミング言語でコードを記述することなくGUI部品の配置や外観設定をGUI(フォームデザイナー)で視覚的かつ直感的に行なうこともできるようになっている[1]。これが人気の元である。

後に、同等の機能を持つクロスプラットフォームのライブラリとしてComponent Library for Cross Platform (CLX) がDelphi、C++ Builder、Kylix用に開発されたが、VCLの人気の前には太刀打ちできなかった。

VCLはオブジェクト指向クラスライブラリであり、System.TObjectクラス[2]を最上位基底クラスとする単一継承のオブジェクト階層をもっている。Object Pascalは(C++と異なり)実装の多重継承をサポートしておらず、代わりにインターフェイスを実装することによる型の多重継承をサポートする[3]。VCLでもインターフェイスによるポリモーフィズムが利用されている。例えばSystem.Classes.TComponentクラス[4]は、

TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)

というようにTPersistentクラスから派生し、さらにIInterfaceおよびIInterfaceComponentReferenceインターフェイスを実装する。

Object Pascalにおける継承の機能やメカニズムはJavaとよく似ており、のちにC#にも受け継がれることになった。

  1. ^ Object Pascalが言語機能としてサポートしているプロパティが、IDEと親和性が高いことも寄与している。
  2. ^ TObjectは、Javaにおける暗黙の最上位基底クラスであるオブジェクト型java.lang.Objectに相当するが、Object Pascalにおけるオブジェクト型という用語は意味が異なるので注意されたい。
  3. ^ C++であっても、Microsoft Foundation Class (MFC) などのように単一継承のクラス階層で設計されているライブラリもある。
  4. ^ System.Classes.TComponent - RAD Studio API Documentation

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne