Scala Generics

Scala Generics
„Termin„ ogólny ”był szeroko wykorzystywany do pokrycia szerokiego obszaru lub pola, jeśli chodzi o umieszczenie podobnych rzeczy w jednym zestawie. Na przykład, kiedy rozmawiasz z rodziną lub przyjaciółmi, często używasz słowa „ogólnie”, aby wszyscy mogli obejmować szeroki sposób. Termin ten można również wykorzystać w języku programowania. Jeśli studiowałeś „Java”, musiałeś użyć klas ogólnych. Język Scala zawiera odrębne typy ogólne niż te, które mamy w Javie. Klasy sklasyfikowane jako ogólne akceptują rodzaj pola jako argumentu. Ponieważ nie jesteśmy pewni rodzaju zmiennej, używamy po prostu kwadratowych nawiasów, aby to wskazać. Kompilator może sprawdzić typ w wykonaniu. Kolekcja Scali w dużej mierze wykorzystuje ogólne klasy lub typy. W dzisiejszym samouczku będziemy omawiać stosowanie ogólnych klas lub typów w Scala."

Przykład nr 01

W naszym pierwszym przykładzie programowania Scala będziemy omawiać najbardziej podstawowy kod, aby zrozumieć ogólne klasy. Musisz upewnić się, że Twój system operacyjny Linux ma już zainstalowany pakiet językowy Scala. Zacznijmy więc od zainicjowania terminali konsoli naszego systemu Linux. Jest to konieczne, ponieważ musimy utworzyć w nim nowy plik Scala. W ten sposób wypróbowaliśmy instrukcję „dotyku” Linuksa w jej obszarze zapytania z tytułem pliku Scala do utworzenia. Plik Scala musi zostać utworzony za pomocą „.rozszerzenie Scala ”, aby uniknąć problemów. Po użyciu instrukcji „LS” możemy zobaczyć „Test.Plik skala ”również na liście.

Czas dodać kod Scala do nowo zbudowanego. Ale wcześniej musisz otworzyć swój plik w ramach jakiegoś edytora. Wolimy używać edytora tekstu w systemie Linux, ponieważ edytor tekstu jest bardzo łatwy i wygodny w użyciu. Dlatego test.Plik Scala został uruchomiony w edytorze tekstu za pomocą ręcznego sposobu, i.mi., za pomocą eksploratora plików. Teraz musisz zrozumieć jedną rzecz „ogólna” słowo kluczowe jest używane nie tylko do klas, ale także typów Scala.

Będziemy więc używać typu ogólnego dla parametrów prostej funkcji. Rozpoczął ten przykład od importu biblioteki numerycznej w kodzie, i.mi., Aby używać ogólnych typów wartości liczbowych. Obiekt został utworzony w następnym wierszu o nazwie „Test”, który zostałby wykorzystany do celów wykonania. Zawiera definicję funkcji main () odpowiedzialnej za ogólne wykonanie programu Scala. W tym kodzie sterownika zdefiniowaliśmy odejmowanie funkcji z ogólnym typem „N” do wartości liczbowych „x” i „y” za pomocą niejawnego parametru lub argumentu. Jak określono typ ogólny, możesz podać dowolny rodzaj wartości liczbowej do obliczenia wyniku odejmowania. Następny wiersz zawiera niejawną zmienną liczbową „N”, aby wywołać wbudowaną funkcję „minus” i przyjmuje wartości liczbowe „x” i „y” jako parametry.

Wynik zostałby zapisany do ogólnego terminu „N”. Instrukcja println () wyświetli wynik funkcji odejmowania, przekazując go dowolne dwie wartości liczbowe. Funkcja subtraction () przyjmuje jedynie ogólny typ zmiennych, a funkcja minus oblicza wynik i zwraca ją do instrukcji wywoływania println () tutaj. Zapiszmy nasz kod przed wykonaniem.

Jak wiemy, wszystkie języki programowania mają kompilatory do kompilacji i tworzenia kodu bez błędów. Tak więc Scala ma swój kompilator „Scalac”. Użyliśmy „testu.plik scala ”w zapytaniu ScaC, aby go skompilować. Nazwa obiektu „test” z pliku została wykorzystana do wykonania skompilowanego kodu obiektu. W zamian mamy wynik odejmowania „-60” jako typ ogólny dla wartości liczbowych przekazany do funkcji odejmowania.

Przykład nr 02

Wykopmy trochę więcej, aby zrozumieć generyczne. W tym przykładzie będziemy teraz rozwinąć użycie typów ogólnych dla klas. Tylko to samo pozostało w pliku, jest nazwa obiektu, i.mi., test. Definicja funkcji main () rozpoczyna się od wykonywania od pierwszego definiowania niektórych klas. Klasa ogólna, którą zawiera, to także klasa abstrakcyjna o nazwie „Multi” przy użyciu parametru ogólnego „Z”. Ta klasa zawiera definicję funkcji „pomnóż” przy użyciu ogólnego typu „Z” dla jej wartości parametrycznych „u” i „v”.

Zdefiniowano tutaj podklasę „Imultiply”, która rozszerzyła klasę ogólną „multi” o typ „liczby całkowitych”, i.mi., używając słowa kluczowego „rozszerza”. Używa również tej samej funkcji nazwy „pomnóż”, która używa typu liczb całkowitych dla jego wartości do obliczenia wyniku mnożenia „u*v”. Inna klasa, „Dmultiply” również rozszerza klasę ogólną „Multi”, ale z typem podwójnym do obliczenia wyniku mnożenia „u*v” za pomocą tej samej funkcji nazwy „pomnóż” rozszerzoną z klasy abstrakcyjnej. Następnie przekazane wartości liczb całkowitych do funkcji mnożli () klasy, która rozszerza główną klasę abstrakcyjną „multi”. Obliczony wynik zostałby zapisany na nowej zmiennej „IM”.

Podobnie, zainicjowaliśmy zmienną „DM” odzyskanie wyniku mnożenia z funkcji multiply () klasy Dmultiply po przejściu jej 2 podwójnych wartości. W dwóch ostatnich wierszach kodu użyliśmy zmiennych „IM” i „DM” w instrukcji funkcji println (), aby wyświetlić wyniki liczby całkowitych i podwójnego mnożenia.

Po kompilacji pliku do tej pory nie znaleziono żadnych błędów. Wykonał go za pomocą instrukcji Scala i uzyskał odpowiednio liczbę całkowitą i podwójną mnożeniem.

Wniosek

To wszystko w użyciu typów ogólnych dla klas i ich funkcji w Scala. Wyjaśniliśmy użycie ogólnych typów w Scala. Następnie omówiliśmy dwa bardzo podstawowe i łatwe do zrozumienia przykłady, aby wyjaśnić, w jaki sposób można używać typów ogólnych do dziedziczenia i korzystania z ogólnych klas nadrzędnych w klasach dzieci określonych typów. Pojęcie typów ogólnych jest dość wygodne w użyciu, jeśli chodzi o dziedzictwo.