メモ - 言語仕様比較: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(); |