プログラミング言語 開発スレ( ´�D`)
■ このスレッドは過去ログ倉庫に格納されています
0512500
NGNGVectorElement is parameter : Object //継承する必要があるクラスやインターフェースを列挙
{
public:
constructor: ( ); //引数無しのコンストラクタが必要
class public:
operator >: (X, Y: VectorElement) -> Boolean; // 自身の型を引数に取る ">" 演算子が必要
};
で、総称の定義でこれを明示する、と。
Vector is generic<Element is VectorElement> class { ...
そうすればVectorElementで書かれた要件を満たしたクラスのみVector<Integer>みたいにできる、と。
Vectorの定義の中ではVectorElementで書かれた要件のみ使える、と。
型チェックが楽になりませんか?…面倒くさいかも。
無知を承知で提案しているので、どうぞ叩いて下さい。
同時に、書きながら思った別の提案…
・コンストラクタは型名ではなく予約語"constructor"を使うことにしませんか?型名がメンバー名を汚染しなくて済みます。
・Vector<Vector<Integer>>が通るように、">>"演算子か、型パラメータを囲む"<" ">"をどちらか変えませんか?
■ このスレッドは過去ログ倉庫に格納されています