Scala Package Object

Scala Package Object
Vi kan lage Scala -funksjonsfelt og den andre kodeimplementeringen tilgjengelig på pakketivå. En pakkes primære mål er å holde filer modulisert og enkelt å håndtere. Vi kan opprettholde filer i forskjellige distinkte mapper eller kataloger avhengig av navneområdet gitt. Noen ganger ønsker vi at disse variable definisjonene, funksjonene, klassene eller objektene skal være tilgjengelige for hele pakken. Å holde variabler i en pakke er imidlertid ikke mulig. For å oppnå dette brukte vi et pakkeobjekt som lar oss lagre vanlige data på pakketoppnivå. Så når vi vil få tilgang til medlemmet av klassen, vil det nås fra det aktuelle pakkeobjektet. I artikkelen vil vi få et konsept med pakkeobjekter i Scala.

Hva er pakkeobjekt i Scala?

Pakken fungerer som en beholder der alt er definert i en klasse. Hver pakke har et tilsvarende pakketavn i Scala. For hver pakke er det bare ett spesifikt pakkeobjekt som er tilgjengelig for medlemmer som skal settes i Scala -kildekoden. Pakkeobjekt muliggjør variabel definisjonsklasser eller objekter som kan være tilgjengelige for hele pakken som er opprettet. For å spesifisere pakkeobjektet i koden vår, har vi først opprettet en fil med samme navn som Scala -pakken.

Hvordan lage pakkeobjekt i Scala?

For å vite hvordan vi kan lage et pakkeobjekt for hovedklassen for tilgang til pakkeobjektmedlemmer i Scala, bør vi se på eksemplene. Merk at all implementering av kode er blitt utført i IntelliJ Idea -programvareapplikasjonen.

Eksempel 1: Program for å lage pakkeobjektet i Scala

Vi har et eget pakkeobjekt for den eneste klassen som fikk tilgang til pakkeobjektet. Dette skal være på samme sted i samme katalog og mappe. Vi har opprettet et pakkeobjekt for klassen i koden nedenfor.

I koden ovenfor har vi opprettet en pakke.Scala -filen som er i pakken “Company”. Denne pakken.Scala kan nås av en klassefil som heter “Mobile.Scala ”. Pakken.Scala -banen er gitt som SRC/Company/Package.Scala og klassefilbanen er gitt som SRC/Company/Mobile.Scala. Både pakkeobjektet og klassefilen er på samme nivå, og pakkeobjektet er bare for klassen “Mobile.Scala ”. I pakkeobjektet må vi definere felt som kan nås av klassefilen "mobil" senere. Variabelen initialiseres med strengverdien og representert som firmanavn. Den andre variabelen er representert som eierverdi og har også en strengverdi.

Nå i klassefilen "Mobile" har vi noen merkenavn for mobiltelefoner som er lagret i en spesifisert variabel. Deretter, i hovedmetoden til objektet "demo", kaller vi mobilnavnet gjennom utskriftsfunksjonen. Som du kan se, har vi definert en annen variabel “Company_info” som har feltene fra pakkeobjektet. I utskriftserklæringen har vi bestått selskapets informasjon som vil returnere “Company_name” og “eiernavn” -verdier. Disse returnerte verdiene for variabler er definert i pakkeobjektet.

Utgangen som vises i bildet nedenfor viser Campany_name og eiernavn som initialiseres i en variabel av pakkeobjekt.

Eksempel 2: Program for å få tilgang til pakkeobjektfeltet i en klassefil i Scala

Vi oppretter et pakkeobjekt for klassefilen til det objektet. På denne måten kan klassefilen få tilgang til feltene som er erklært i pakkeobjektfilen. La oss ha kodeimplementering nedenfor.

I eksemplet ovenfor har vi en pakkeobjektfil for klassen "bil" i en pakkemappe "lisens". Pakkeobjektet har meldinger initialisert som en streng i en variabel. Disse variablene kan være tilgjengelige for "bil" -filen.

Klassen "bil" har en variabel definert som "Person_age" som er satt som "20". Deretter har vi et annet objekt som en "demo" som hovedmetoden kalles. For det første har vi en utskriftserklæring som vil skrive ut “Person_age” fra klassebilen. Deretter har vi en betinget uttalelse for en person for en persons alder. Hvis Person_age er større enn eller lik verdien “18”, vil vi ha “MSG_1” fra pakkeobjektet. Hvis tilstanden er falsk, vil vi ha en trykt verdi av "msg_2". Begge meldingene som er tilgjengelig, lagres i den tilsvarende variabelen “Message_1” og “Message_2”.

Ettersom aldersverdien passerte som "20" som er større enn "18", satt i et betinget uttrykk. Så her fikk vi utgangsmeldingen som "Ja, du er kvalifisert for å kjøre". Den gitte tilstanden er sann.

Eksempel 3: Program for å lage pakkeobjektet i klassefilen i Scala

Vi kan også lage pakkeobjekter i klassefilen. Nedenfor har vi et eksempel på kodeimplementering der vi har opprettet et pakkeobjekt for en klassefil i samme kildeklassefil.

I koden ovenfor har vi pakketavnet som en beregning som er i mappen for matematikkpakke. Vi har også importpakkeobjektet for globalt tilgang til medlemmet av klassen i hele koden. Deretter har vi opprettet en objektklasse som "eksempel 1". I klasseobjektet har vi initialisert en variabel som "A" og den andre variabelen som "B" som blir kalt i hovedmetoden for objektet "Demo". I hovedmetoden har vi en utskriftsuttalelse som vil skrive ut verdiene som er lagret i en variabel “A” og “B”. Så i en variabel "sum" har vi en tilleggsoperasjon på variabler “A” og “B”. Etter tilleggsoperasjonen vil utskriftsfunksjonen returnere summen av “A” og “B”. Nå har vi en subtraksjonsoperasjon av variablene “x” og “y”. Disse variablene er definert i pakkeobjektet som er nevnt på slutten av koden og kalt i hovedmetoden. Utskriftsfunksjonen vil returnere verdien fra “x” og “y” subtraksjon.

Som du kan se, gir output -displayet på skjermbildet summen fra klassemedlemmene og forskjellen fra pakkeobjektet.

Konklusjon

Diskusjonen om pakkeobjektet har som mål å gi deg en klar demonstrasjon av hva som er bruken av pakkeobjekter i Scala. Pakkeobjektet vil forkorte den lange kodelinjen som vil forbedre lesbarheten. Vi har tre eksempler på å lage et pakkeobjekt på en annen måte for en klassefil av det aktuelle objektet. Disse eksemplene vil bygge ferdigheter på pakkeobjektet. Forhåpentligvis har du god kunnskap om pakkeobjekter i Scala etter å ha lest denne artikkelen.