こんなので出来るとは…うーん、灯台下暗し(汗)
こんなので出来るとは…うーん、灯台下暗し(汗)
六門世界リプレイ『スカーレット・ラプソディ2』
先月発売されたスカーレット・ラプソディの続編。でももう終わり(爆)
一応ストーリーの区切りにはなってるけど、ドタバタして終わってしまったような…。
しかも後半に別のリプレイが入ってて、本編がちょっと端折られ気味で短めだし。
思えば、六門世界リプレイの第1シリーズも、ずいぶん半端なところで終わっていたような気がするぞ。(しかもイマイチ売りがなかったような…今回のはイきすぎて独特の立場を確立しまくっているが(苦笑))
オハナミーズとかWはもっと純粋に面白かったと思うんだけど…
って著者がチガウジャン(爆)
しかし今回のシリーズで第1シリーズのブリットさんが出てきて「若い冒険者と結婚した」という触れ込みだったので「まさかあのPCと?!」と思っていたのだが、見事にやられたなぁ!(笑)
次はバージョンアップした六門世界のルールでやるらしいので、スカーレット・ラプソディのシリーズは打ち切ったんだそうだ。一応PCは替えてもストーリーは関連するらしいけど、どうなんでしょね?
今巻のお言葉: ネクロマンサーとホーリーオーダーの会話としてどうなのか
(ところで「まんまんちゃんあん」って何??)
シリアライズのネタが増えてきたので、ページを独立させた。
で、シリアライズ可能クラスの定義方法について追記。
シリアライズしたものから復元する場合、シリアライズ可能クラスはコンストラクターが呼ばれないが、スーパークラスがシリアライズ可能でない場合は、そのスーパークラスのデフォルトコンストラクターが呼ばれる。
これはフィールドのインスタンスに対しても同じ。
試してみるとややこしいので(苦笑)、シリアライズするクラスは、スーパークラスもフィールドのクラス(実行時のインスタンスのクラス)も、全てシリアライズ可能にすべきだな。
↑思考停止(爆)
シリアライズもリフレクションを使ってるんだろうと思ってたんだけど、コンストラクターが呼ばれないところを見ると、別の方法でメモリ確保してるんだなぁ。
古いVectorの代わりにArrayList、Hashtableの代わりにHashMapがあるわけだが、
Stackの代わりになるものって無いのかな?
LinkedListで代用できはするみたいだけど。そういう意味だと、キューもLinkedListで代用できるなぁ。
まぁ、Stackなんて滅多に使わない(というか使ったことない)けど(苦笑)
総称型(ジェネリクス)は クラス(とインターフェース)にしか使えないと思っていたので、メソッドだけの定義をすることが出来るのを知ってびっくり!C++でこんなの出来たかな??
ついでにextendsと、謎だった「?」についてもメモ。
メモしてたらけっこうな量になったので、別ページに分割。
総称型の「?」の使い方はなんとなく分かったけど、いまいち分からない部分がある…。
List<?> list = new ArrayList();
list.add(new Object()); //←なぜかコンパイルエラー
Object o = list.get(0); //←こっちはコンパイルOK