Skip to content
Menu
Saayarelo
Saayarelo

GeeksforGeeks

Posted on 10月 31, 2021

Singleton Object

Scala はJavaよりオブジェクト指向の言語なので、Scalaにはstaticキーワードの概念がないのである。 静的キーワードの代わりに、Scalaはシングルトンオブジェクトを持っています。 シングルトンオブジェクトは、あるクラスの単一のオブジェクトを定義するオブジェクトです。 シングルトンオブジェクトは、プログラム実行のエントリーポイントを提供します。 もし、シングルトンオブジェクトを作らないと、コードのコンパイルは成功しても、出力が得られません。 そのため、プログラムの出力を得るために、シングルトンオブジェクトが必要になります。
Syntax:

object Name{// code...}

Important points about singleton object

  • The method in the singleton object is globally accessible.Singleleton objectは、オブジェクトキーワードを使って生成されるオブジェクトです。
  • シングルトンオブジェクトのインスタンスを作成することはできません。
  • シングルトンオブジェクトの一次コンストラクタにパラメータを渡すことはできません。
  • Scalaでは、シングルトン オブジェクトはクラスとtraitを拡張することができます。
  • Scalaでは、シングルトンオブジェクトには必ずmainメソッドが存在します。
  • シングルトンオブジェクトのメソッドはオブジェクト名でアクセスされるので(Javaのstaticメソッドの呼び出しと同じ)、このメソッドをアクセスするためにオブジェクトを作成する必要はありません。

例1:

class AreaOfRectangle
{
var length = 20;
var height = 40;
def area()
{
var ar = length * height;
println("Height of the rectangle is:" + height);
println("Length of the rectangle is:" + length);
println("Area of the rectangle is :" + ar);
}
}
object Main
{
def main(args: Array)
{
var obj = new AreaOfRectangle();
obj.area();
}
}



出力します。

Height of the rectangle is:40Length of the rectangle is:20Area of the rectangle is :800

例2:

object Exampleofsingleton
{
var str1 = "Welcome ! GeeksforGeeks";
var str2 = "This is Scala language tutorial";
def display()
{
println(str1);
println(str2);
}
}
object Main
{
def main(args: Array)
{
Exampleofsingleton.display();
}
}


出力します。

Welcome ! GeeksforGeeksThis is Scala language tutorial

説明します。 上記の例では、ExampleofsingletonとMainという2つのシングルトンオブジェクトがあります。 Exampleofsingletonオブジェクトはdisplay()という名前のメソッドを含んでいるので、Mainオブジェクトでこのメソッドを呼び出すことにします。 Exampleofsingleton.display();という記述で、Exampleofsingletonオブジェクトに存在するdisplay()メソッドを呼び出し、出力を表示させています。

コンパニオンオブジェクト

コンパニオンオブジェクトとは、クラス名と同じ名前を持つオブジェクトとして知られています。 言い換えれば、あるオブジェクトとクラスが同じ名前であるとき、そのオブジェクトはコンパニオン・オブジェクトとして知られ、クラスはコンパニオン・クラスとして知られる。 コンパニオン・オブジェクトは、クラスが定義されているのと同じソース・ファイルで定義されます。 コンパニオン・オブジェクトは、クラスのプライベート・メソッドとプライベート・フィールドの両方にアクセスすることが許されます。
例

class ExampleofCompanion
{
var str1 = "GeeksforGeeks";
var str2 = "Tutorial of Companion object";
def show()
{
println(str1);
println(str2);
}
}
object ExampleofCompanion
{
def main(args: Array)
{
var obj = new ExampleofCompanion();
obj.show();
}
}


出力されます。

GeeksforGeeksTutorial of Companion object
記事タグ:

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

最近の投稿

  • ラビリンスフィッシュの特徴
  • Systemic corticosteroids are frequently prescribed for psoriasis
  • 5つの質問… Melissa McGurren | RSN
  • 聖書の新約聖書
  • Tilapia Almondine
  • メンズヘアの種類:メンテナンス方法+12のスタイリングアイデア
  • 15 Texting and Driving Quotes and Slogans To Remind You Stay Off Your Phone
  • 101 Best Art Captions for Instagram
  • Dental
  • 雪カビってなんですか? (そしてそれを取り除く方法)

アーカイブ

  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • Deutsch
  • Nederlands
  • Svenska
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
©2022 Saayarelo | WordPress Theme: EcoCoded