Javaリフレクションメカニズムの詳細解説

リフレクションの基本概念 Javaプログラムにおけるすべてのオブジェクトには、コンパイル時の型と実行時の型という2つの型があります。多くの場合、これらの型は一致しません。例えば: Object obj = new String("hello"); このような場合、変数の宣言型はObjectですが、実行時にはStringのメソッドを呼び出す必要があるかもしれません。この問題を解決するには、リフレク ...

6月8日 22:00 投稿

Javaリフレクションの基本と応用

一、Classオブジェクトを取得する3つの方法: 方法1: ObjectクラスのgetClass()メソッドを利用する Person person = new Person(); Class classObj = person.getClass(); 方法2: クラス名.class構文を使用する Class classObj2 = Person.class; 方法3: ClassクラスのforNameメソッドを利用する(クラス名を文字列として渡す) Class classObj3 = Class.forName("Per ...

6月2日 17:37 投稿

Javaの基本 - リフレクション機構

Javaリフレクション機構の研究と応用 Javaのリフレクション機構が提供する機能: 実行時において任意のオブジェクトの属するクラスを確認する 実行時において任意のクラスのインスタンスを生成する 実行時において任意のクラスのメンバーフィールドとメソッドを確認する 実行時においてジェネリック情報を取り扱う 実行時において任意のオブジェクトのメンバーフィールドと ...

5月28日 10:13 投稿

Pythonにおけるオブジェクト指向と例外処理・リフレクションの実践

クラスとインスタンスの関係判定 isinstance(target, ClassType) は、targetが指定クラスのインスタンスかどうかを判定します。 class Vehicle: pass car = Vehicle() print(isinstance(car, Vehicle)) # True bike = object() print(isinstance(bike, Vehicle)) # False issubclass(SubClass, ParentClass) は、第一引数のクラスが第二引数のサブクラスであるか ...

5月25日 22:10 投稿

.NETアセンブリ操作のための簡易リフレクションライブラリ活用

.NETにおけるリフレクション技術は、学習曲線がやや急な機能ですが、一度習得すれば非常に柔軟なプログラミングが可能になります。この記事では、DSAPI.DLLに実装された簡易リフレクション操作用の機能について解説します。 DSAPI.DLLでは、以下のようなアセンブリ操作機能が実装されています: アセンブリ内の全フォーム取得 アセンブリ内のフォーム名一覧取得 特定接頭辞 ...

5月17日 22:21 投稿

UE5 C++におけるゲーム内アイテムデータ管理とDataTable連携の実装

Unreal Engine 5 でゲーム内のアイテムやリソースデータを効率的に管理するためには、C++ 側で反射システム(Reflection)を有効にしたデータ構造を設計し、エディタ上のデータテーブルと連携させる必要があります。本記事では、アイテム情報を保持する構造体から、それらをゲーム全体で共有するデータ管理クラスまでの実装手順を解説します。 1. 基底クラスとデータ構造 ...

5月15日 18:51 投稿