Cos'è la classe astratta in Scala?
In Scala, una classe astratta funge da supertipo che contiene informazioni sulle classi di sottotipo. Per ottenere l'astrazione, viene creata la classe astratta. Astrazione significa nascondere le informazioni sull'implementazione e mostrare solo la funzionalità specifica agli utenti finali. Possiamo ereditare solo un astratto di una classe per istanziare correttamente. Una classe astratta non può essere istanziata direttamente. Per costruire una classe astratta, dobbiamo rappresentare una classe con l'abstract della parola chiave.
Sintassi della classe astratta in Scala
La sintassi della classe astratta Scala sembra così.
Classe di classe astratto Class_Name
DAFAST ABLATT_METHOD ()
L'abstract è rappresentato con la parola chiave "astratto" con il nome della classe. In classe astratta, abbiamo dichiarato metodi astratti. Il metodo astratto è senza avere codice nel suo corpo.
Come utilizzare la classe astratta in Scala in Ubuntu 20.04
Facciamo un esempio e vediamo come formare una classe astratta insieme a un metodo astratto in Scala.
Esempio n. 1: creazione di una classe astratta in Scala
Possiamo creare una classe astratta in un programma utilizzando la parola chiave "astratta" con il nome della classe specificato. Facciamo un po 'di pratica creando la classe astratta.
Nel codice sopra, abbiamo dichiarato una classe con la parola chiave "astratta" e nominata quella classe come "studente". Nella classe astratta, abbiamo definito i metodi astratti come "informazioni". Quando definiamo un metodo astratto in una classe astratta, non abbiamo bisogno di alcuna implementazione lì. Dopo aver creato la classe astratta, abbiamo creato una classe regolare denominata "laurea". Questa classe "laurea" estende la classe astratta. Qui, il metodo astratto "Informazioni" mostra il nome dello studente e il nome di laurea. Quindi, abbiamo un metodo principale in cui dobbiamo definire l'oggetto di classe "grado". Abbiamo creato un OBJ variabile e assegnato all'istanza della classe "grado". Abbiamo usato una nuova parola chiave per istanziare la classe. Stiamo usando l'istanza OBJ con il metodo "Informazioni" chiamato.
Abbiamo creato con successo una classe astratta e definito metodi astratti in una classe normale. L'output del metodo astratto della classe astratta tramite l'istruzione di stampa è sullo schermo del terminale.
Esempio n. 2: creazione di un'istanza di classe astratta in Scala
In Scala, non possiamo istanziare una classe astratta esplicitamente. Se proviamo a farlo, avremo un errore di compilazione. Di seguito, stiamo cercando di istanziare una classe astratta creando un'istanza dell'abstract per sapere quale messaggio di errore darà.
Nell'implementazione del codice sopra, abbiamo creato una classe astratta con la parola chiave "astratta" e dato il nome della classe come "università". Quindi, senza un corpo, abbiamo definito il metodo astratto. Il metodo astratto è impiegato nel metodo principale. Abbiamo creato un oggetto della classe "universitaria" nella funzione principale della classe astratta. Quindi, abbiamo assegnato quell'oggetto all'istanza della classe astratta "Università" con la nuova parola chiave. Questo istanzierà la classe astratta.
Abbiamo un messaggio di errore come output che non possiamo istanziare la classe astratta. Di conseguenza, non siamo in grado di generare oggetti di classi astratte.
Esempio n. 3: creazione di campi in classe astratta in Scala
Possiamo anche definire i campi in classe astratta. La classe astratta accedeva a questi campi e quindi, il metodo astratto della classe ha ereditato la classe astratta. Di seguito è riportata l'implementazione del codice mostrato.
Nel codice sopra, abbiamo creato una classe astratta con la parola chiave "astratto" e denominata quella classe "insegnanti". Nella classe astratta, i campi contengono una variabile come "Teacher_Name" che viene inizializzata con il valore della stringa e ha una stringa set di tipi di dati. Il secondo campo è anche con la variabile definita come "insegnante_subject" che è anche impostata come tipo di dati stringa e inizializzato con il valore stringa. Qui, "Teacher_Detail" è un metodo astratto di classe astratta "insegnanti". Ora, "CS" è dichiarato una classe che estende la classe astratta. In questa classe, stiamo accedendo al metodo e ai campi della classe astratta della classe astratta chiamando il metodo astratto. Abbiamo creato un oggetto per istanziare la classe. Quindi, stiamo usando un'istanza OBJ con il metodo di classe "CS".
Abbiamo il nome dell'insegnante e i dettagli dell'insegnante come output di seguito.
Esempio # 4: creazione di un costruttore in Scala
Possiamo creare un costruttore di classe astratto nel codice. Possiamo usare il costruttore per inizializzare un oggetto ma l'oggetto non può essere costruito lì. Quando creiamo un'istanza di una classe ereditata, allora possiamo chiamare un costruttore di una classe astratta.
Nel codice sopra, abbiamo dichiarato una classe astratta come "libro" insieme al costruttore. Il costruttore di una classe astratta prende due argomenti come "titolo" e "autore", quindi, nella classe astratta, abbiamo definito il dettaglio del metodo astratto. Ora, estendi la classe astratta con il "romanzo" di classe. La classe "romanzo" accederà al metodo astratto e restituirà i valori del costruttore che dispongono l'output del codice di implementazione sopra.
Conclusione
Come abbiamo discusso dell'importanza della classe astratta, è molto utile in Scala. Abbiamo una breve introduzione e definizione di una classe astratta in Scala. Inoltre, abbiamo esaminato le diverse implementazioni di codice di esempio. Abbiamo avuto una discussione profonda sulla classe astratta in Scala. Avrai una forte presa sulla classe astratta in Scala dopo aver letto l'articolo.