インターフェース、抽象クラスのC#との違い

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
java大好き

インターフェース、抽象クラスのC#との違い

#1

投稿記事 by java大好き » 7年前

javaからC#への変換をするプログラムを作っています。
インターフェース、継承、抽象クラスに関してルールとしてC#とjavaで違いはありますか?
javaの継承、抽象クラス関連だけでページ数が100ページ以上あり共通点を見つけるが大変です。

例えばc#はjavaと違ってインターフェースを実装しても全部メソッドを実装しなくてもいいとか(仮の話でたぶん間違ってると思いますが)そういうルールの違いってあるんですか?


YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: インターフェース、抽象クラスのC#との違い

#3

投稿記事 by YuO » 7年前

java大好き さんが書きました:インターフェース、継承、抽象クラスに関してルールとしてC#とjavaで違いはありますか?
記述方法の違いを除いた場合において,
  • Javaのinterfaceはpublic static finalなフィールドを持てるがC#はフィールドを一切持てない
  • Javaのinterfaceはメソッドのデフォルト実装を持てるがC#は持てない
  • Javaの@Overrideは任意だがC#のoverrideは必須
  • C#のメソッドに付けるnewに相当するものはJavaには存在しない
  • C#の明示的なインターフェースメソッドの実装に相当するものはJavaには存在しない
あたりが大きな違いかな,と思います。

変換プログラムを書くのであれば,仕様書をちゃんと読んだ方がよいとは思いますし,
JavaのStreamが直接的にC#のLINQに変換できるわけでもないので,簡単に変換できるものでもないですが……。

java大好き

Re: インターフェース、抽象クラスのC#との違い

#4

投稿記事 by java大好き » 7年前

c#のメソッドにnewをつけるって
これデリゲートのことですか?

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: インターフェース、抽象クラスのC#との違い

#5

投稿記事 by YuO » 7年前

デリゲートは根本的な言語仕様の問題ですし,今回の話題から外れるので元々除外しています。
JavaからC#への変換で問題になりそうな匿名クラスも,根本的な言語仕様の問題で今回の話題からも外れるので除外しています。

で,今回のnewは,
new 修飾子 (MSDN)
これのことです。
オフトピック
C# メソッド newでGoogle検索すればすぐに出てくるので,ちゃんと調べましょう。

返信

“C言語何でも質問掲示板” へ戻る