Avatar billede zhy Nybegynder
04. december 2001 - 10:44 Der er 11 kommentarer og
2 løsninger

info fra andre klasser

Er det muligt af hente et array ind fra en anden klasse ? Ikke en metode men bare en variable ?
Avatar billede logical Nybegynder
04. december 2001 - 10:46 #1
Måske. Det kommer an på den anden klasse, men hvorfor vil du det?
Avatar billede disky Nybegynder
04. december 2001 - 10:48 #2
Du laver en get metode som returnere det array du ønsker at have fat i.

Eller den grimme metode:
lav arrayet public så kan du tilgå det direkte.
Avatar billede nute Nybegynder
04. december 2001 - 10:49 #3
du kan hente en referanse til den variabel...den peneste metoden (og forsåvidt den eneste korrekte måten) er å lage en getmetode i din klasse som returnerer denne array:

class DinKlasse{
  Array dinArray;
 
  public Array getDinArray(){
    return dinArray;
  }
}

deretter kan du i din andre klasse opprette et objekt av klassen DinKlasse og kalle getDinArray på den:

DinKlasse dinKlasse = new DinKlasse();
Array nyArray = dinKlasse.getDinArray();

/nute
Avatar billede disky Nybegynder
04. december 2001 - 10:56 #4
mange tak
Avatar billede nute Nybegynder
04. december 2001 - 10:58 #5
takker :)
Avatar billede erikjacobsen Ekspert
04. december 2001 - 12:20 #6
Ja, undskyld jeg blander mig ;)

Det er alt sammen teknisk set korrekt, men hvis man ønsker at skjule
implementationsdetaljer i din klasse - altså at den tilfældigvis er lavet ved
hjælp af Array - er det bestemt ikke særlig smart at gøre denne attribut
tilgængelig udefra.

Lad os rent hypotetisk antage, at jeg skulle bedømme en opgavebesvarelse,
der indeholdt dette - så ville det sandsynligvis trække ned.
Avatar billede nute Nybegynder
04. december 2001 - 12:23 #7
erikjacobsen >> hvis jeg forstår deg dithen at du ikke tillater modifikasjon av objektet i en annen klasse (uten bruk av fx. set-metoder) så er jeg helt enig...
Avatar billede disky Nybegynder
04. december 2001 - 12:27 #8
erik er du lærer ?

Du snakker hele tiden om det ville trække ned osv.
Avatar billede erikjacobsen Ekspert
04. december 2001 - 12:32 #9
Vi snakker vel om en form for funktionskomponent, hvor der er forskellige
valg af implementionsmetoder (vælg et eller andet fra Collection). Dette valg
må ikke være synligt udadtil - hvad enten det sker direkte til attributten eller
via get/set-metoder.
Avatar billede disky Nybegynder
04. december 2001 - 12:35 #10
Det må det godt hvis udvikleren vælger det.

Og normalt kan man sagtens finde typen alligevel via reflection.
Avatar billede zhy Nybegynder
04. december 2001 - 13:22 #11
Jeg ved ikke hvor meget det kommer til at afvige fra mit oprindelige spørgesmål... men i det store hele ... skal jeg via en metode i en anden klasse have hentet et array ind, men metoden er ikke færdigudviklet endnu, så jeg skulle have noget at øve mig på, har slet ikke tænkt over information hiding endnu.....
Avatar billede erikjacobsen Ekspert
04. december 2001 - 13:54 #12
Det må det da ikke, disky, hvis designet af de indgående klasser ikke
tillader det. Spørgeren er nok startet bagfra, uden at tage stilling til et
overordnet design. Men det kan jo være det kommer :)
Avatar billede disky Nybegynder
04. december 2001 - 13:56 #13
korrekt :-)

Men at sige man ikke må er lidt meget, da man godt må men det er en dårlig ide.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester