Oggetto compagno Scala

Oggetto compagno Scala
Definendo un oggetto di classe, possiamo ispezionare i membri della classe e invocare qualsiasi metodo in altri linguaggi di programmazione. Il metodo specifico viene chiamato con l'aiuto di quell'oggetto. Nell'articolo, creeremo un oggetto che non ha bisogno di una classe per dichiarare i suoi membri. Scala introduce oggetti singleton o oggetti compagni. Scala Class e Scala Object sono quindi con lo stesso file di origine; sono un compagno l'uno con l'altro.

Quali sono gli oggetti di accompagnamento in Scala?

Un oggetto di accompagnamento e la classe si trovano nello stesso file di origine insieme allo stesso nome. Gli oggetti compagni sono oggetti che hanno un nome simile alla classe a cui appartengono. Lo stesso oggetto e la combinazione di nomi di classe sono molto potenti, possiamo accedere sia ai metodi privati ​​che ai campi della classe.

Sintassi di oggetti Scala Companion

La sintassi generale dell'oggetto compagno in Scala look in questo modo:

Classe class_name
// Class Body
Oggetto oggetto_name
// Object Body

Qui, "class_name" è il nome della classe e l'oggetto_name è il nome dell'oggetto classe. Il nome di classe e oggetto dovrebbe essere lo stesso per diventare compagni l'uno con l'altro. Ciò significa che possiamo usare i campi e i metodi delle istanze della classe.

Come usare gli oggetti Scala Companion in Ubuntu 20.04?

Per comprendere l'uso degli oggetti compagni in Scala, dovresti dare un'occhiata ai seguenti esempi di seguito:

Esempio 1: Utilizzo della classe Scala Companion e del metodo oggetto

Possiamo creare un oggetto compagno mantenendo il nome dell'oggetto uguale al nome della classe. Quindi, abbiamo considerato la classe e la compagna dell'oggetto l'uno con l'altro. Di seguito, abbiamo creato un oggetto compagno.

Nel codice sopra, abbiamo una classe come esempio1. La classe ha variabili STR1 e STR2 inizializzate con il valore della stringa. C'è un metodo "MyExample" che definisce la classe che stampa i valori "STR1" e "STR2". Nell'oggetto compagno, stiamo accedendo al metodo della classe pertinente.

Puoi vedere nell'output di seguito; Possiamo accedere al membro della classe di accompagnamento con la "nuova" parola chiave nell'oggetto compagno.

Esempio 2: Utilizzo del metodo Applica per l'oggetto Scala Companion

Possiamo creare un'istanza di una classe tramite il metodo applica. Di seguito abbiamo un'implementazione del metodo applicato.

Nel codice sopra, abbiamo dichiarato una classe denominata "frutti" e abbiamo anche creato un oggetto della classe. L'oggetto di classe è anche chiamato "frutti". Mantenendo il loro nome, lo stesso sono considerati oggetti compagni. Il frutto di classe è stato definito con una variabile "X". La variabile ha una stringa vuota. Successivamente, abbiamo un oggetto compagno di frutta di classe compagna. Nell'oggetto compagno, abbiamo usato il metodo applicato che sta sostenendo un membro della classe di accompagnamento. Quindi, abbiamo creato una variabile 'y' nel metodo applica. La variabile "Y" sta inizializzando un'istanza di un oggetto con la parola chiave "nuovo". Usando il metodo Applica, possiamo chiamare direttamente l'oggetto dalla classe.

Stiamo usando la modalità di pasta per il metodo applica. Dopo essere usciti da una modalità di pasta, possiamo chiamare direttamente il membro della classe. Abbiamo scritto un codice di corrispondenza di pattern in Scala e l'output è mostrato di seguito.

Esempio 3: utilizzando il metodo Applica per la creazione di più costruttori

Usando il metodo Applica, possiamo passare più di un argomento. Possiamo avere un metodo applicato nella classe di accompagnamento più di uno che fornirà più costruttori. L'esempio è avere due costruttori nel metodo applicato e due metodi Applica nell'oggetto compagno.

Nel codice sopra, abbiamo creato una classe di accompagnamento come "lingua" e definito due variabili "L1" e "L2". Quindi, abbiamo un oggetto compagno del nome "lingua" uguale al nome della classe di accompagnamento. Nell'oggetto compagno, abbiamo usato due metodi applicati. Il primo è passare un singolo valore e l'altro metodo Applicazione prende due argomenti come costruttore. Il metodo Applica ha la variabile "L3" che ha una "nuova" parola chiave con l'oggetto. Possiamo generare una nuova istanza di un oggetto con l'uso della "nuova" parola chiave. La "L3" prende i valori da "L1" e "L2" nel codice.

L'output a cui possiamo accedere tramite la modalità di pasta viene visualizzato l'implementazione dopo l'uscita della modalità. Possiamo chiamare l'oggetto utilizzando il metodo applica.

Esempio 4: Utilizzo del metodo senza applicazione per gli oggetti compagni

Ora, possiamo anche estrarre il campo da un oggetto usando il metodo senza applicazione nell'oggetto compagno.

Nel codice sopra, in primo luogo, abbiamo fatto una classe di accompagnamento che si chiama "Colore". La classe di accompagnamento "colore" ha variabili come membri della classe. La variabile è rappresentata come "C1" e "C2". Questi campi variabili possono essere accessibili dall'oggetto compagno come costruttore. Quindi, abbiamo creato un oggetto compagno e definito il metodo Applica in esso. Il metodo Applic crea un costruttore passando argomenti dei campi della classe di accompagnamento. Nel metodo Applica, abbiamo una variabile "C3" che utilizza una nuova parola chiave con il colore dell'oggetto. I valori di "C1" e "C2" sono passati a "C3". Alla fine, dobbiamo usare il metodo senza applicazione che ha "C3" come argomento e restituisce il valore di "C1" e "C2".

Dopo essere usciti dalla modalità di pasta, abbiamo estratto i campi da un "C3". L'output del metodo non applicato è mostrato sullo schermo.

Conclusione

La guida mira a dimostrarti i vantaggi di avere un oggetto compagno. Per diventare un compagno per la classe e l'oggetto, il nome dovrebbe essere lo stesso e è mantenuto nello stesso file di origine. Quindi, abbiamo discusso del metodo Applica con l'implementazione del codice. Possiamo usare più di un metodo Applic in un oggetto Companion e creare vari costruttori nel metodo Applica. Abbiamo anche discusso del metodo senza applicazione per estrarre i campi della classe. L'esempio del metodo Applica è attraverso la modalità di pasta in Ubuntu 20.04 Terminale. È possibile utilizzare la modalità di pasta dando il comando "Scala" sul terminale e anche uscendo dalla modalità di pasta premendo "CTRL+D".