子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

いろんな言語のインスタンス生成とメソッド呼び出しの方法をまとめてみた

いろんなオブジェクト指向言語インスタンス生成とメソッド呼び出しの方法をまとめてみた。
調べてみて使ったことない言語も結構あるなあって思いました。

ちなみにコンストラクタとは初期化を行うための特別なメソッド。

Java

クラス名 インスタンス名 = new クラス名();
クラス名 インスタンス名 = new クラス名(引数);

インスタンス名.メソッド名();
インスタンス名.メソッド名(引数);

C#

クラス名 インスタンス名= new クラス名();
クラス名 インスタンス名= new クラス名(引数);

インスタンス名.メソッド名();
インスタンス名.メソッド名(引数);

VB.NET

Dim インスタンス名 As New クラス名
Dim インスタンス名 As New クラス名(引数)

インスタンス名.メソッド名()
インスタンス名.メソッド名(引数)

Ruby

インスタンス名 = クラス名.new
インスタンス名 = クラス名.new(引数)

インスタンス名.メソッド名
インスタンス名.メソッド名(引数)

C++

クラス名* インスタンス名 = new クラス名;    
クラス名* インスタンス名 = new クラス名(引数);

インスタンス名.メソッド名()
インスタンス名.メソッド名(引数)

Python

インスタンス名 = クラス名()
インスタンス名 = クラス名(引数)

インスタンス名.メソッド名()
インスタンス名.メソッド名(引数)

PHP

$インスタンス名 = new クラス名;
$インスタンス名 = new クラス名(引数);

$インスタンス名->メソッド名();
$インスタンス名->メソッド名(引数);

JavaScript

インスタンス名 = new クラス名();
インスタンス名 = new クラス名(引数);

インスタンス名.メソッド名();
インスタンス名.メソッド名(引数);

Swift

インスタンス名 = クラス名()
インスタンス名 = クラス名(変数名: 引数) 

インスタンス名.メソッド名()
インスタンス名.メソッド名(引数)

Kotlin

インスタンス名 = クラス名()
インスタンス名 = クラス名(引数)

インスタンス名.メソッド名()
インスタンス名.メソッド名(引数)

GO

var インスタンス名 クラス名
インスタンス名 := new(クラス名)

インスタンス名.メソッド名()
インスタンス名.メソッド名(引数)

※GO言語にはクラスがないがそれに近いものがあるらしい。

各言語でだいぶ違いがありますね。
JavaC#はやはりほぼ同じ。
Python、C++、Swift、Kotlin、GOは使ったことないからよくわからない。
PythonとSwift、Kotlinはnewが要らないっていうのが衝撃的。
C++はこれであっているのか?
GOは全く分かんない。

間違いがあったらごめんなさい。