Scala generica

Scala generica
"Il termine" generale "è stato ampiamente utilizzato per coprire un'area ampia o un campo quando si tratta di mettere cose simili in un set. Ad esempio, quando parli con la tua famiglia o i tuoi amici, usi spesso la parola "generalmente" per tutti da coprire in modi ampi. Questo termine può anche essere utilizzato in un linguaggio di programmazione. Se hai studiato "Java", devi aver usato le classi generiche. Il linguaggio Scala contiene tipi generici distinti di quelli che abbiamo in Java. Le classi classificate come generiche accettano il tipo di campo come argomento. Dato che non siamo sicuri del tipo di variabile, usiamo semplicemente le staffe quadrate per indicarlo. Il compilatore potrebbe controllare il tipo in esecuzione. La collezione di Scala utilizza in gran parte classi o tipi generici. All'interno di questo tutorial oggi, discuteremo dell'uso di classi o tipi generici in Scala."

Esempio # 01

Nel nostro primo esempio di programmazione Scala, discuteremo del codice più elementare per comprendere le classi generiche. È necessario assicurarsi che il tuo sistema operativo Linux abbia già un pacchetto di linguaggio Scala installato alla fine. Quindi iniziamo iniziando prima l'applicazione del terminale console del nostro sistema Linux. È necessario perché dobbiamo creare un nuovo file Scala in esso. Pertanto, abbiamo provato le istruzioni "touch" di Linux nella sua area di query con il titolo di un file Scala da creare. Il file Scala deve essere creato con ".Scala "estensione per evitare qualsiasi problema. Usando l'istruzione "LS", possiamo vedere il "test.Scala ”anche nell'elenco.

È ora di aggiungere il codice Scala a quello appena costruito. Ma, prima, devi aprire il tuo file all'interno di alcuni editor. Preferiamo utilizzare l'editor di testo nel sistema Linux poiché l'editor di testo è molto facile e conveniente da usare. Pertanto, il test.Il file Scala è stato lanciato nell'editor di testo usando un modo manuale, i.e., Utilizzo di File Explorer. Ora, devi capire una cosa che la parola chiave "generica" ​​viene utilizzata non solo per le classi ma anche per i tipi di scala.

Quindi, useremo il tipo generico per i parametri di una semplice funzione. Ha avviato questo esempio con l'importazione della libreria numerica nel codice, i.e., Per utilizzare tipi generici di valori numerici. L'oggetto è stato creato alla riga successiva con il nome "test" che verrebbe utilizzato per scopi di esecuzione. Contiene la definizione di una funzione principale () responsabile dell'esecuzione generale del programma Scala. In questo codice del driver, abbiamo definito una sottrazione di funzione con un tipo generico "N" da utilizzare per i valori numerici "x" e "y" tramite il parametro o l'argomento impliciti. Poiché è stato specificato il tipo generico, è possibile fornire qualsiasi tipo di valore numerico per il calcolo di un risultato di sottrazione. La riga successiva contiene la variabile numerica implicita "N" per chiamare la funzione "meno" incorporata e prende i valori numerici "x" e "y" come parametri.

Il risultato sarebbe salvato al termine generico "n". L'istruzione println () visualizzerebbe il risultato della funzione di sottrazione passandolo due valori numerici. La funzione di sottrazione () sta assumendo solo il tipo generico di variabili e la funzione meno sta calcolando il risultato e lo restituisce all'istruzione chiamante println () qui. Salviamo il nostro codice prima dell'esecuzione.

Come sappiamo, tutti i linguaggi di programmazione hanno i loro compilatori per compilare e rendere il codice privo di bug. Quindi, Scala ha il suo compilatore "Scalac". Abbiamo usato il "test.Scala ”File nella query Scalac per compilarlo. Il nome di un oggetto "test" dal file è stato utilizzato per l'esecuzione del codice oggetto compilato. In cambio, abbiamo ottenuto il risultato di sottrazione "-60" come tipo generico per i valori numerici passati alla funzione di sottrazione.

Esempio # 02

Scaviamo un po 'di più per capire i generici. All'interno di questo esempio, elaboreremo ora l'uso di tipi generici per le classi. Solo la stessa cosa rimasta nel file è il nome dell'oggetto, i.e., test. La definizione della funzione principale () inizia la sua esecuzione definendo prima alcune classi in essa. La classe generica che contiene è anche la classe astratta denominata "Multi" usando il parametro generico "Z". Questa classe contiene una definizione di una funzione "multiplica" usando il tipo generico "z" per i suoi valori parametrici "u" e "v".

Qui è stata definita una "IMultiply" di base che ha esteso la classe generica "multi" con un tipo "intero", i.e., Utilizzando la parola chiave "estende". Utilizza anche la stessa funzione "moltiplica" che ha utilizzato il tipo intero per i suoi valori per calcolare il risultato di moltiplicazione "U*V". Un'altra classe, "dmultiply" estende anche la classe generica "multi", ma con il doppio tipo per calcolare il risultato di moltiplicazione "u*v" tramite la sua stessa funzione "multiply" estesa dalla classe astratta. Successivamente, ha passato i valori interi alla funzione multiply () della classe IMULITHI che ha esteso la principale classe astratta "Multi". Il risultato calcolato verrebbe salvato in una nuova variabile, "IM".

Allo stesso modo, abbiamo inizializzato una variabile "DM" che riprende il risultato di moltiplicazione dalla funzione multiplica () della classe dmultiply dopo averlo passato 2 doppi valori. Nelle ultime due righe di codice, abbiamo utilizzato le variabili "IM" e "DM" nell'istruzione Function Println () per visualizzare i risultati interi e doppi moltiplicazione.

Alla compilazione del file, finora non sono stati trovati bug. Eseguito con l'istruzione Scala e ottenuto rispettivamente i risultati interi e doppi moltiplicazione.

Conclusione

È tutto per l'utilizzo dei tipi generici per le classi e le loro funzioni in Scala. Abbiamo spiegato molto brevemente l'uso di tipi generici in Scala. Successivamente, abbiamo discusso di due esempi molto semplici e facili da capire per elaborare come puoi usare tipi generici per ereditare e utilizzare le classi genili generiche nelle classi figlio di tipi specificati. Il concetto di tipi generici è abbastanza conveniente da usare quando si tratta di eredità.