¿Qué son los objetos complementarios en Scala??
Un objeto complementario y la clase están en el mismo archivo fuente junto con el mismo nombre. Los objetos complementarios son objetos que tienen un nombre similar a la clase a la que pertenecen. La misma combinación de nombre de objeto y clase es muy poderosa, podemos acceder a métodos privados y campos de la clase.
Sintaxis de objetos de compañía Scala
La sintaxis general del objeto complementario en Scala se ve de esta manera:
Clase class_nameAquí, "class_name" es el nombre de la clase y el objeto_name es el nombre del objeto de clase. La clase y el nombre del objeto deben ser el mismo para convertirse en compañeros entre sí. Esto significa que podemos usar los campos y métodos de las instancias de la clase.
Cómo usar los objetos de compañía Scala en Ubuntu 20.04?
Para comprender el uso de los objetos complementarios en Scala, debe echar un vistazo a los siguientes ejemplos a continuación:
Ejemplo 1: Uso de la clase de compañía Scala y el método de objetos
Podemos crear un objeto complementario manteniendo el nombre del objeto igual que el nombre de la clase. Entonces, consideramos la clase y el compañero de objeto el uno al otro. A continuación, hemos creado un objeto complementario.
En el código anterior, tenemos una clase como el ejemplo1. La clase tiene variables Str1 y Str2 inicializadas con el valor de cadena. Existe un método "myExample" que define la clase que imprime los valores "str1" y "str2". En el objeto complementario, estamos accediendo al método de la clase relevante.
Puede ver en la salida a continuación; Podemos acceder al miembro de la clase complementaria con la "nueva" palabra clave en el objeto complementario.
Ejemplo 2: Uso del método Aplicar para el objeto SCALA Companion
Podemos crear una instancia de una clase a través del método Aplicar. Tengamos una implementación del método de aplicación a continuación.
En el código anterior, hemos declarado una clase llamada "frutas" y también creamos un objeto de la clase. El objeto de clase también se llama "frutas". Al mantener su nombre, lo mismo se consideran objetos complementarios. La fruta de la clase se ha definido con una variable "x". La variable tiene una cadena vacía. A continuación, tenemos un objeto complementario de fruta de clase complementaria. En el objeto complementario, hemos utilizado el método Aplicar que está tomando un argumento de un miembro de clase complementaria. Luego, hemos creado una variable 'y' en el método de aplicación. La variable "y" es inicializar una instancia de un objeto con la palabra clave "nueva". Al usar el método de aplicación, podemos llamar al objeto desde la clase directamente.
Estamos utilizando el modo Paste para el método de aplicación. Después de salir de un modo de pasta, podemos llamar al miembro de la clase directamente. Hemos escrito un código de coincidencia de patrones en Scala y la salida se muestra a continuación.
Ejemplo 3: Uso del método Aplicar para crear múltiples constructores
Al usar el método de aplicación, podemos pasar más de un argumento. Podemos tener un método de aplicación en la clase complementaria más de uno que proporcionará múltiples constructores. El ejemplo es tener dos constructores en el método de aplicación y dos métodos de aplicación en el objeto complementario.
En el código anterior, hemos creado una clase complementaria como "idioma" y definimos dos variables "L1" y "L2". Entonces, tenemos un objeto complementario del nombre "idioma" lo mismo que el nombre de clase complementaria. En el objeto complementario, hemos utilizado dos métodos de aplicación. El primero es tener un valor único aprobado y el otro método de aplicación toma dos argumentos como constructor. El método de aplicación tiene la variable "L3" que tiene una "nueva" palabra clave con el objeto. Podemos generar una nueva instancia de un objeto con el uso de la "nueva" palabra clave. El "L3" toma valores de "L1" y "L2" en el código.
La salida a la que podemos acceder a través del modo Paste a medida que se muestra la implementación después de salir del modo. Podemos llamar al objeto utilizando el método de aplicación.
Ejemplo 4: Uso del método de desaprobación para objetos complementarios
Ahora, también podemos extraer el campo de un objeto utilizando el método de desacoplamiento en el objeto complementario.
En el código anterior, primero, hemos hecho una clase complementaria que se llama "color". El "color" de clase complementaria tiene variables como miembros de la clase. La variable se representa como "C1" y "C2". El objeto complementario puede acceder a estos campos variables como constructor. Luego, hemos creado un objeto complementario y definimos el método de aplicación en él. El método de aplicación crea un constructor pasando argumentos de campos de clase complementaria. En el método de aplicación, tenemos una variable "C3" que está utilizando una nueva palabra clave con el color del objeto. Los valores de "C1" y "C2" han pasado a "C3". Al final, tenemos que usar el método desapaculado que tiene "C3" como argumento y devuelve el valor de "C1" y "C2".
Después de salir del modo Paste, hemos extraído los campos de un "C3". La salida del método desacoplable se muestra en la pantalla.
Conclusión
La guía tiene como objetivo demostrarle los beneficios de tener un objeto complementario. Para convertirse en un compañero de la clase y el objeto, el nombre debe ser el mismo y se mantiene en el mismo archivo de origen. Luego, discutimos el método de aplicación con la implementación del código. Podemos usar más de un método de aplicación en un objeto complementario y crear varios constructores en el método de aplicación. También hemos discutido el método desapaculado para extraer los campos de la clase. El ejemplo del método de aplicación es a través del modo Paste en Ubuntu 20.04 terminal. Puede usar el modo Paste dando el comando "Scala" en el terminal y también saliendo desde el modo Paste presionando "Ctrl+D".