ilpostino Skrevet 24. mars 2005 Del Skrevet 24. mars 2005 Hvordan får en tilgang til funksjoner i andre filer for å bruke disse? Lenke til kommentar
Gjest Sletet+adslkfjv Skrevet 24. mars 2005 Del Skrevet 24. mars 2005 i andre klasser mener du vel? du kan jo prøve med klassenavn og funksjonen du skal ha tak i. f.eks hvis du har en klasse doStuff med en funksjon regnutdette. så henter du regnutdette med doStuff.regnutdette(); bruker du foresten eclipse? Lenke til kommentar
ilpostino Skrevet 24. mars 2005 Forfatter Del Skrevet 24. mars 2005 i andre klasser mener du vel? du kan jo prøve med klassenavn og funksjonen du skal ha tak i. f.eks hvis du har en klasse doStuff med en funksjon regnutdette. så henter du regnutdette med doStuff.regnutdette(); bruker du foresten eclipse? bruker jBuilder 2005 Foundation. Holder på med et program hvor jeg har tenkt til å skille alt i to filer; den ene filen skal ta seg av GUI (inkludert menyer og slikt) mens den andre filen tar seg av alt som skjer i bakgrunnen. Hvis jeg feks har oppe en side med noen tekstfelt og trykker på "Lagre" i menyen er det en metode i den andre filen som tar seg av oppdatering av databasen... Lenke til kommentar
TeddyErt Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 Bare å lage et nytt objekt av den andre klasse: Klasse1 a = new Klasse1() ; også kalle metodene i klasse1 a.metode() ; Hvis du skal ha en metode som skal lagre informasjonen fra et tekstfelt kan du kanskje gjøre noe slikt: a.lagre(tekstfelt.getText()) ; Lenke til kommentar
Patton Skrevet 25. mars 2005 Del Skrevet 25. mars 2005 Vanligvis har man en klasse per fil, hvor "filnavn" = "klasse-navn".java. Jav har heller ingen funksjoner, bare klasse-metoder. Dvs., at man aksesserer alle metoden gjennom en instans av klassen, eller direkte med klassen selv (hvis metoden er definert som static). Så, hvis filene ligger i samme pakke, og samme dir, samt at begge er kompilert, saa instansierer du enkelt og greit (som logindude sier) et objekt av den ene klassen i den andre klassen, og du har tilgang til alle public, protected og default (ingen synlighets deklarasjon) metoder. Lenke til kommentar
ilpostino Skrevet 25. mars 2005 Forfatter Del Skrevet 25. mars 2005 en trenger ikke skrive noe/gjøre noe med de filene som skal (mis)brukes, ikkesant? det holder å gjøre slik som TeddyErt eksepmeler? Lenke til kommentar
Knut Marius Skrevet 26. mars 2005 Del Skrevet 26. mars 2005 Må vel også sette public rettighet på metodene du skal bruke, men det har du sikkert gjort. PS: Mulig logindude bare formulerte seg litt feil, men du kan (som regel) ikke kalle metoden direkte fra klassen. Du må først opprette et objekt av klassen, og deretter kalle metoden fra objektet, som TeddyErt sa Lenke til kommentar
mikaelandre Skrevet 28. mars 2005 Del Skrevet 28. mars 2005 anbefaler å lage ei java fil pr klasse du skal lage, blir _mye_ mer oversiktlig på den måten. Når du skal kalle metoder har du 2 muligheter, statisk og objektsmetode. Ved kall på en statisk metode (også kalt klassemetode) skriver du "Klassenavn.metodenavn()" og ved kall på en objektsmetode skriver du "Objektnavn.metodenavn()". Ved bruk av statisk metode må den være definert public om den ligger i en annen klasse, og den må kalles på en statisk måte. Objektsmetoder må også være public om de skal kalles fra en annen klasse, og de må kalles på av et instansiert objetk (objektsnavn = new Klassenavn(); ) Lenke til kommentar
Patton Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 Litt tilleggsinformasjon: Java foelger dessuten en pakkestruktur for aa finne ut hvor filene ligger. Pakkestrukturen er hierarkisk bygd opp, tilnaermet identisk med filstrukturen hvor java-filene ligger (inner-class er et unntak). Hvis du f.eks. har classpath=%classpath%;/java Saa vil /java/minpackage/Test.java se slik ut: package minpackage; public class Test { // innhold } For aa aksessere denne fra /java/TestMain.java: import minpackage.Test // Viktig! public class TestMain { public static void main(String[] args) { Test test = new Test(); } } /java/minpackage/endaenpackage/HeiaKlasse.java ser da slik ut: package minpackage.endaenpackage; public class HeiaKlasse { // innhold } osv. Klasser som tilhoerer samme package trenger ingen import for aa aksessere hverandre. Dessuten, hvis du har: classpath=%classpath%;/java;/ekstern/java Saa vil /java/minpackage/EnKlasse.java og /ekstern/java/minpackage/EndaEnKlasse.java tilhoere samme package hvis de begge har package minpackage deklarert i begynnelsen av filen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå