Skip to content
Menu
Saayarelo
Saayarelo

GeeksforGeeks

Posted on október 31, 2021

Singleton objektum

A Scala inkább objektumorientált nyelv, mint a Java, így a Scala nem tartalmazza a statikus kulcsszó fogalmát. A statikus kulcsszó helyett a Scala singleton objektummal rendelkezik. A singleton objektum egy olyan objektum, amely egy osztály egyetlen objektumát definiálja. A singleton objektum egy belépési pontot biztosít a program végrehajtásához. Ha nem hoz létre singleton objektumot a programjában, akkor a kódja sikeresen lefordítható, de nem ad kimenetet. Tehát egy singleton objektumra van szükséged ahhoz, hogy megkapd a programod kimenetét. A singleton objektumot az object kulcsszó használatával hozzuk létre.
Szintaktika:

object Name{// code...}

Fontos tudnivalók a singleton objektumról

  • A singleton objektumban lévő metódus globálisan elérhető.
  • Nem hozhatunk létre példányt a singleton objektumból.
  • Nem adhatunk át paramétert a singleton objektum elsődleges konstruktorában.
  • A Scalában a singleton objektum kiterjesztheti az osztályokat és a vonásokat.
  • A Scalában egy fő metódus mindig jelen van a singleton objektumban.
  • A singleton objektumban lévő metódus az objektum nevével érhető el (akárcsak a statikus metódus hívása a Java-ban), így nincs szükség objektum létrehozására a metódus eléréséhez.

1. példa:

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();
}
}



Kimenet:

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

2. példa:

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();
}
}



Kimenet:

Welcome ! GeeksforGeeksThis is Scala language tutorial

Magyarázat:

Welcome ! GeeksforGeeksThis is Scala language tutorial

Magyarázat: A fenti példában két singleton objektumunk van, a Exampleofsingleton és a Main. A Exampleofsingleton objektum tartalmaz egy display() nevű metódust, most ezt a metódust hívjuk meg a Main objektumban. Ezzel az utasítással Exampleofsingleton.display(); meghívjuk az Exampleofsingleton objektumban lévő display() metódust, és kinyomtatjuk a kimenetet.

Companion objektum

A Companion objektum olyan objektumként ismert, amelynek neve megegyezik az osztály nevével. Vagy Más szóval, ha egy objektumnak és egy osztálynak ugyanaz a neve, akkor ezt az objektumot társobjektumként, az osztályt pedig társosztályként ismerjük. A kísérő objektumot ugyanabban a forrásfájlban definiáljuk, amelyben az osztály definiálva van. A kísérőobjektum hozzáférhet az osztály privát metódusaihoz és privát mezőihez egyaránt.
Példa:

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();
}
}



Kimenet:

GeeksforGeeksTutorial of Companion object
Article Tags :

Vélemény, hozzászólás? Kilépés a válaszból

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Legutóbbi bejegyzések

  • Mitől más a labirintushal?
  • Szisztémás kortikoszteroidokat gyakran írnak fel pikkelysömörre
  • 5 kérdés … Melissa McGurren | RSN
  • A Biblia újszövetségi könyvei
  • Tilapia mandula
  • Férfi hajtípusok: Hogyan ápoljuk + 12 stílusötlet
  • 15 SMS és vezetés Idézetek és szlogenek, amelyek emlékeztetnek arra, hogy ne telefonálj
  • A 101 legjobb művészeti képaláírás az Instagramra
  • Dental
  • Mi a hópenész? (És hogyan szabaduljunk meg tőle)

Archívum

  • 2022 február
  • 2022 január
  • 2021 december
  • 2021 november
  • 2021 október
  • Deutsch
  • Nederlands
  • Svenska
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
©2022 Saayarelo | WordPress Theme: EcoCoded