2007-12-11から1日間の記事一覧

シールクラス

Javaのfinalなクラスと同じ。 sealed class SealClass {} これは、Javaの場合 final class FinalClass {} こう書くのと同じ。Javaは同じキーワードを使いまわすけど、C#は別の役割のものには別のキーワードを割り当ててるみたい。

ポリモーフィックなメソッド

C#はポリモーフィックなメソッドに関して、Javaに比べて少し複雑になっている。 using System; class Base { public void Method() { Console.WriteLine("base class"); } } class Sub : Base { public void Method() { Console.WriteLine("sub class"); } }…

他のコンストラクタの呼び出し

スーパークラスのコンストラクタの呼び出しとオーバーロードされたコンストラクタの呼び出しはC++とJavaの中間のような感じ。 class Hoge { public Hoge(int i) {} // オーバーロードされたコンストラクタの呼び出し public Hoge() : this(10) {} } class Ex…

言語仕様

C# Language Specificationネットに言語仕様があるのはありがたいんだけど、MSDNの中、しかも変に凝ってるため非常に読みにくい。 確かC#ってJIS化してたような・・・プログラム言語 C#これか。うーん高い。会社に買ってもらおう。

constとreadonly

Javaのfinalは意味がたくさんあるけど、その中で定数性を表すfinalに相当するのがこのconstとreadonly. C#のconstはかなり潔癖で、変数が少しでも絡むとコンパイルエラーとなる。 // エラー int n = 10; const int i = n == 0 ? 1 : 2; だけど、readonlyを使…

プロパティ

プロパティは表記としてはフィールドへのアクセスだけど、中身はメソッドとして実装されている。 要は、アクセサメソッドって呼び出し面倒だし、直感的じゃないよねー、ということで出てきたものなんだと思う。 using System; class Program { private int d…

適当な置き場・・・

etc

例のやさしいC++ですが、全ページというのは論外として、適当なページを(それなりの解像度で)スキャンして見てもらえればどんな本なのかというのは一目瞭然だと思うのですが、どこか適当な置き場所ないでしょうか? 404 Not Found 適当な置き場・・・ Yahooの…