@634

メモ - 言語仕様比較:VB.NET・Java・C#

Java、VisualBasic.NET、C#のオブジェクト指向プログラミング言語仕様を比較。

Advertisement

クラスの定義

VB.NET
Public Class ClassName
End Class

Java
public class ClassName{
}

C#
public class Class1{
}

オブジェクトの作成

VB.NET
Dim ObjectName As New ClassName
'または
Dim ObjectName As ClassName
ObjectName = New ClassName

Java
ClassName objectName = new ClassName();

C#
ClassName objectName = new ClassName();

コンストラクタ

VB.NET
Public Class ClassName
    Sub New()
    End Sub
End Class

Java
public class ClassName{
    public ClassName(){

    }
}

C#
public class ClassName{
    public ClassName(){

    }
}

自分自身

VB.NET
Me.Method()

Java
this.method()

C#
this.method()

スーパークラス

VB.NET
MyBase.method

Java
super.method()

C#
base.method()

スーパークラスのコンストラクタ

VB.NET
Public Class ClassName
    Inherits SuperClass

    Sub New(ByVal Age As Integer)
        MyBase.New(Age)
    End Sub

End Class

Java
public class ClassName extends SuperClass{
    public ClassName(int age){
        super(age);
    }
}

C#
public class ClassName{
    public ClassName(){
        base();
    }
}
// または
public class ClassName{
    public ClassName():base(){
    }
}

継承

VB.NET
Class ClassName
    Inherits SuperClassName
End Class

Java
public class ClassName extends SuperClassName{

}

C#
public class ClassName:SuperClassName{
}

オーバーライド

VB.NET
Public Class SuperClassName
    Public Overridable Function TestFunction()
    End Function
End Class

Public Class ClassName
    Inherits SuperClassName
    Public NotOverridable Overrides Function TestFunction()
End Class

Java
public class SuperClassName{
    public void TestFunction(){

    }
}

public class ClassName extends SuperClassName{
    public void TestFunction(){

    }
}

C#
public class SuperClassName{
    public virturl void TestFunction(){

    }
}

public class ClassName:SuperClassName{
    public override void TestFunction(){

    }
}

オーバーロード

VB.NET
Public Class SuperClassName
    Public OverLoads Function TestFunction()
    End Function

    Public OverLoads Function TestFunction(ByVal a As String)
    End Function
End Class

Java
public class ClassName{
    public void TestFunction(){

    }

    public void TestFunction(String str){

    }
}

C#
public class ClassName{
    public void TestFunction(){

    }

    public void TestFunction(String str){

    }
}

インターフェイス

VB.NET
Interface InterfaceName
    Function Test() As String
End Interface

Public Class ClassName
    Implements InterfaceName

    Function Test() As String Implements InterfaceName.Test

    End Function
End Class

Java
interface InterfaceName{
    public String Test();
}

public class ClassName implements InterfaceName{
    public String Test(){

    }
}

C#
public interface Interface1{
    void Test();
}

public class ClassName:InterfaceName{
    public String Test(){

    }
}

クラス変数・クラスメンバ

VB.NET
Class ClassName
    Public Shared Name As String = "MyName"
End Class

Java
public static class ClassName{
    public static String Name = "MyName"
}

C#
public class ClassName{
    public static String Name = "MyName"
}

クラス関数・クラスメンバ

VB.NET
Class ClassName
    Public Shared Function GetName() As String
        Return "MyName"
    End Function
End Class

Java
public static class ClassName{
    public static String getName(){
        return "MyName";
    }
}

C#
public class ClassName{
    public static String getName(){
        return "MyName";
    }
}

名前空間・パッケージ

VB.NET
Namespace SpaceName
    Class ClassName
    End Class
End Namespace

Java
package PackageName;

C#
namespace SpaceName{
    public class Test{

    }
}

他パッケージ・他名前空間取り込み

VB.NET
imports プロジェクト名.SpaceName

Java
import PackageName

C#
using 名前空間

例外処理

VB.NET
Try

Catch ex As Exception

Finally

End Try

Java
try{

}catch(){

}finally{

}

C#
try{

}catch(){

}finally{

}

例外スロー

VB.NET
Throw New Exception

Java
throw new Exception();

C#
throw new Exception();

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール

ビリヤード