Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
object - Maple のオブジェクトの概要
オブジェクトについて
オブジェクトはデータとプロシージャのカプセル化を行うプログラミング要素です。クラスはオブジェクトのグループの内容 (データとプロシージャ) を説明しています。クラスに属するオブジェクトは、クラスのインスタンスと呼ばれます。オブジェクトの内容はその要素と呼ばれます。要素には、データ要素とプロシージャ要素の 2 つがあります。オブジェクトのプロシージャ要素はメソッドと呼ばれます。オブジェクトの要素はモジュールと同様に、メンバーへのアクセスが可能な範囲を制御できます。エクスポートと宣言された要素はどこからでもアクセス可能です。ローカルと宣言された要素はオブジェクトのメソッド内部からのみアクセスできます。
Maple では、オブジェクトは module の特殊タイプです。そのため、モジュールで動作するルーチンはオブジェクトでも動作します。
オブジェクト指向プログラミングには、多くの利点があります。
クラスの実装は、エクスポートされたメソッドのインターフェースを変更せずに根本的な変更が可能です。そのため、オブジェクトを使用するコードは、内部実装の変更の際に変更する必要がありません。
オブジェクトは内蔵型なので再利用が簡単です。
オブジェクトは、標準の Maple 構文と統合可能なメソッドを定義します。そのため、ユーザーは builtin タイプのように使用できるオブジェクトを作成できます。
クラスは、一般的なエクスポートを実装できます。そのため、一般的なエクスポートのみを使用するプロシージャは、オブジェクトがどのクラスが属するかがわからなくてもすべてのクラスのオブジェクトで動作します。
Maple のオブジェクト
Maple のオブジェクトは、module 作成構文、または既存のオブジェクトをコピーして作成されます。モジュール宣言構文を使用すると、オプションオブジェクトの追加でモジュールの代わりにオブジェクトを作成します。宣言はオブジェクトによって作成されるクラスのインスタンスを定義します。local と宣言された名前はオブジェクト内部にあり、オブジェクト外部からはアクセスできません。export と宣言された名前はオブジェクトの外部からアクセスできます。既存のオブジェクトをコピーして新規オブジェクトを作成するには、Object 関数を使用します。
Maple でのオブジェクトの作成に関する詳細は、「新規オブジェクトを作成する」を参照してください。
エクスポートメソッド
エクスポートメソッドは、モジュール要素構文 (:-) ではなく標準の関数コール構文を使用して呼び出されます。オブジェクト o のメソッド m を呼び出すには、つぎのようにします。
m( o ):
以下は使用しません。
o:-m():
メソッドに関する詳細は、「オブジェクトメソッドの概要」を参照してください。
多重定義 builtin ルーチン
Maple のオブジェクトは、オブジェクトがタイプ builtin の Maple ルーチンに渡されるときに実行されるメソッドを定義できます。たとえば、オブジェクトのメソッドが map である場合は、このメソッドはオブジェクトが map 関数に渡されるときに実行されます。
オブジェクトの多重定義 builtin ルーチンに関する詳細は、「オブジェクトを多重定義する builtin ルーチン」を参照してください。
演算子
Maple のオブジェクトは、演算子を使用する際に自動実行されるメソッドを実装できます。たとえば、+ メソッドを使用するオブジェクトは加算式で使用され、オブジェクトの + メソッドが実行されます。オブジェクトは、Maple の式で自然に使用できます。
オブジェクトの演算子の実装に関する詳細は、「オブジェクトを多重定義する操作」を参照してください。
オブジェクトとタイプ
すべてのオブジェクトは type オブジェクト です。さらに、type および :: は、予想されるクラスのオブジェクトをタイプとして渡すことにより、オブジェクトが特定のクラスのインスタンスであるかどうかを判断できます。ModuleType メソッドを定義してタイプチェックを調整することができます。
特殊メソッド
特殊メソッドはクラスが定義し、特定の状況で使用します。詳細は、メソッドのヘルプページを参照してください。
ModuleCopy: ModuleCopy メソッドは、オブジェクトが Object ルーチンによってコピーされた場合に実行されます。
ModuleType: ModuleType メソッドは、オブジェクトが特定のクラスかどうかを判断する場合に実行されます。クラスは精密なタイプチェックを行うことができます。
ModulePrint: ModulePrint メソッドは、モジュールを書式を整えて印刷する場合に実行されます。
ModuleDeconstruct: ModuleDeconstruct メソッドは、オブジェクトが Maple 構文で 1 次元形式に変換される際に実行されます。
ModuleApply: ModuleApply メソッドはオブジェクトが関数コール式内で関数として使用されたときに実行されます。
ModuleLoad: ModuleLoad メソッドはオブジェクトがライブラリから読み込まれたときに実行されます。
ModuleUnload: ModuleUnload メソッドはオブジェクトが収集されたときに実行されます。
ModuleIterator: ModuleIterator メソッドは、オブジェクトの内容を繰り返すためのインターフェースを作成します。
関連項目
builtin、module、ModuleApply、ModuleCopy、ModuleDeconstruct、ModuleIterator、ModuleLoad、ModulePrint、ModuleType、ModuleUnload、Object、object,builtin、object,create、object,methods、object,operators、procedure、type
Download Help Document