Obiekt towarzyszący Scala

Obiekt towarzyszący Scala
Definiując obiekt klasy, możemy sprawdzić członków klasy i wywołać dowolną metodę w innych językach programowania. Konkretna metoda jest wywoływana za pomocą tego obiektu. W artykule stworzymy obiekt, który nie potrzebuje klasy, aby ogłosić swoich członków. Scala wprowadza obiekty singleton lub obiekty towarzyszące. Klasa Scala i obiekt Scala mają wtedy ten sam plik źródłowy; Są dla siebie towarzyszami.

Jakie są obiekty towarzyszące w Scali?

Obiekt towarzyszący i klasa znajdują się w tym samym pliku źródłowym wraz z tą samą nazwą. Obiekty towarzyszące to obiekty, które mają podobną nazwę do klasy, do której należą. Ta sama kombinacja nazw obiektów i klas jest bardzo potężna, możemy uzyskać dostęp do zarówno prywatnych metod, jak i pola klasy.

Składnia obiektów towarzyszących Scala

Ogólna składnia obiektu towarzyszącego w Scali wygląda w ten sposób:

Klasa klasa_nazwa
// Body klas
Object Object_name
// Body obiektu

Tutaj „klasa_name” to nazwa klasy, a nazwa_ obiektu to nazwa obiektu klasy. Klasa i nazwa obiektu powinny być takie same, aby stać się dla siebie towarzyszami. Oznacza to, że możemy użyć pola i metod instancji klasy.

Jak używać obiektów towarzyszących Scala w Ubuntu 20.04?

Aby zrozumieć użycie obiektów towarzyszących w Scali, powinieneś spojrzeć na poniższe przykłady:

Przykład 1: Korzystanie z klasy towarzyszących Scala i metody obiektu

Możemy utworzyć obiekt towarzyszący, zachowując nazwę obiektu tak samo jak nazwa klasy. Następnie rozważaliśmy dla siebie klasę i towarzysz obiektu. Poniżej stworzyliśmy obiekt towarzyszący.

W powyższym kodzie mamy klasę jako przykład1. Klasa ma zmienne STR1 i STR2 zainicjowane z wartością ciągu. Istnieje metoda „myexample”, która określa klasę, która drukuje wartości „STR1” i „STR2”. W obiekcie towarzyszącym uzyskujemy dostęp do metody odpowiedniej klasy.

Możesz zobaczyć na poniższym wyjściu; Możemy uzyskać dostęp do członka klasy towarzyszących z „nowym” słowem kluczowym do obiektu towarzyszącego.

Przykład 2: Za pomocą metody zastosowania dla obiektu towarzyszącego Scala

Możemy utworzyć instancję klasy za pomocą metody zastosowania. Zastosujmy wdrożenie metody zastosowania poniżej.

W powyższym kodzie zadeklarowaliśmy klasę o nazwie „owoce”, a także stworzyliśmy obiekt klasy. Obiekt klasy nazywa się również „owoce”. Utrzymując ich nazwę, to samo są uważane za obiekty towarzyszące. Owoce klasowe zostały zdefiniowane ze zmienną „x”. Zmienna ma pusty ciąg. Następnie mamy przedmiot towarzyszący owoców klasy towarzyszących. W obiekcie towarzyszącym zastosowaliśmy metodę zastosowania, która przyjmuje argument członka klasy towarzyszących. Następnie utworzyliśmy zmienną „y” w metodzie zastosowania. Zmienna „Y” inicjuje instancję obiektu z słowem kluczowym „nowym”. Za pomocą metody zastosowania możemy bezpośrednio wywołać obiekt z klasy.

Używamy trybu wklejania do metody zastosowania. Po wyjściu z trybu pasty możemy bezpośrednio zadzwonić do członka klasy. Napisaliśmy kod dopasowywania wzoru w Scala, a dane wyjściowe pokazano poniżej.

Przykład 3: Za pomocą metody zastosowania do tworzenia wielu konstruktorów

Korzystając z metody zastosowania, możemy przekazać więcej niż jeden argument. Możemy mieć metodę zastosowania w klasie towarzyszącą więcej niż jedną, która zapewni wiele konstruktorów. Przykładem jest posiadanie dwóch konstruktorów w metodzie zastosowania i dwie metody stosowania w obiekcie towarzyszącym.

W powyższym kodzie stworzyliśmy klasę towarzyszącą jako „język” i zdefiniowaliśmy dwie zmienne „L1” i „L2”. Następnie mamy przedmiot towarzyszący nazwy „język” tak samo jak nazwa klasy towarzysza. W obiekcie towarzyszącym zastosowaliśmy dwie metody zastosowania. Pierwsza z nich ma jedną wartość, a druga metoda stosowania bierze dwa argumenty jako konstruktor. Metoda zastosowania ma zmienną „L3”, która ma „nowe” słowo kluczowe z obiektem. Możemy wygenerować nową instancję obiektu z użyciem „nowego” słowa kluczowego. „L3” pobiera wartości z „L1” i „L2” w kodzie.

Wyjście, do którego możemy uzyskać dostęp przez tryb wklejania, ponieważ implementacja jest pokazana po trybie wyjściowym. Możemy wywołać obiekt za pomocą metody zastosowania.

Przykład 4: Przy użyciu metody nieapłabnej dla obiektów towarzyszących

Teraz możemy również wyodrębnić pole z obiektu, używając metody bezdaply w obiekcie towarzyszącym.

W powyższym kodzie po pierwsze stworzyliśmy klasę towarzyszącą, która nazywa się „kolor”. „Kolor” klasy towarzyszący ma zmienne jako członkowie klasy. Zmienna jest reprezentowana jako „C1” i „C2”. Te pola zmienne mogą uzyskać dostęp do obiektu towarzyszącego jako konstruktor. Następnie utworzyliśmy obiekt towarzyszący i zdefiniowaliśmy w nim metodę Zastosuj. Metoda zastosowania tworzy konstruktor, przekazując argumenty pól klasowych towarzyszących. W metodzie zastosowania mamy zmienną „C3”, która używa nowego słowa kluczowego z kolorem obiektu. Wartości „C1” i „C2” przeszły do ​​„C3”. Ostatecznie musimy użyć metody niezaprzeczalnej, która ma „C3” jako argument i zwraca wartość „C1” i „C2”.

Po wyjściu z trybu pasty wyodrębniliśmy pola z „C3”. Dane wyjściowe metody nieapłaconej jest pokazane na ekranie.

Wniosek

Przewodnik ma na celu wykazanie korzyści z posiadania obiektu towarzyszącego. Aby zostać towarzyszem klasy i obiektu, nazwa powinna być taka sama i jest przechowywana w tym samym pliku źródłowym. Następnie omówiliśmy metodę zastosowania z implementacją kodu. Możemy użyć więcej niż jednej metody zastosowania w obiekcie towarzyszącym i utworzyć różne konstruktory w metodzie zastosowania. Omówiliśmy również metodę pozbawienia wszelkich starań, aby wyodrębnić pola klasy. Przykład metody zastosowania dotyczy trybu wklejania w Ubuntu 20.04 Terminal. Możesz użyć trybu wklejania, podając polecenie „Scala” na terminalu, a także wychodząc z trybu wklejania, naciskając „Ctrl+D”.