Toon posts:

[JAVA] Invoke methods van een bestaand object

Pagina: 1
Acties:

Verwijderd

Topicstarter
Stel ik heb een instance xNu van class X met de methods getA,getB,... getZ.

In bv. een hashMap staan een paar van deze methods: getB, getK, getX.

Hoe kan je een HashMap iteratie maken die deze methods invoked? Dus door gebruik te maken van de al bestaande instance xNu.

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Kijk naar de java.lang.reflect package. Hierin staan de klasse die dit kunnen.

De techniek noemen ze Reflection. Is bij Sun ook veel informatie over te vinden.

[ Voor 37% gewijzigd door ronaldmathies op 14-09-2004 11:57 ]

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


Verwijderd

Reflection is je vriend.

Klasse Class heeft een getMethod(..) methode, die geeft een instantie van de klasse Method, welke je kunt invoken op een instantie met Method::invoke(..) oid. Moet je ff in de api kijke

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

In 9 van de 10 gevallen duidt het nodig hebben van reflection op een slecht ontwerp.

  • Verbal Kint
  • Registratie: Januari 2001
  • Laatst online: 27-05-2025

Verbal Kint

The man with the plan

Alarmnummer schreef op 14 september 2004 @ 12:35:
In 9 van de 10 gevallen duidt het nodig hebben van reflection op een slecht ontwerp.
...of op een simulatiecalendar implentatie (zie je topic over "de klok"). ;)

Great minds think alike!


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verbal Kint schreef op 14 september 2004 @ 12:38:
[...]
...of op een simulatiecalendar implentatie (zie je topic over "de klok"). ;)
9 van de 10 he :) Soms is het noodzakelijk. Maar 9 van de 10 keer was een beter ontwerp een betere oplossing geweest.

  • Macros
  • Registratie: Februari 2000
  • Laatst online: 30-04 09:28

Macros

I'm watching...

Reflectie is ook traag :D
Maar wel kewl en 1337 ;)

"Beauty is the ultimate defence against complexity." David Gelernter


Verwijderd

Macros schreef op 14 september 2004 @ 12:45:
Reflectie is ook traag :D
Maar wel kewl en 1337 ;)
Maar het is slechts 1 van de 10 gevallen kewl en 1337 ;)

Verwijderd

Topicstarter
Reflectie is idd. te zwaar en te traag... ik heb namelijk het object al, ik ben alleen te lui om te typen. Daarnaast loont het zich niet om een extra DB veld te maken wat aangeeft wat wel en niet getoond mag worden.

php:eval() is eigenlijk toch wel ok.

  • JaWi
  • Registratie: Maart 2003
  • Laatst online: 14-01 21:58

JaWi

maak het maar stuk hoor...

Verwijderd schreef op 14 september 2004 @ 16:54:
Reflectie is idd. te zwaar en te traag... ik heb namelijk het object al, ik ben alleen te lui om te typen. Daarnaast loont het zich niet om een extra DB veld te maken wat aangeeft wat wel en niet getoond mag worden.

php:eval() is eigenlijk toch wel ok.
[nitpick]
eval() is in principe ook een vorm van reflectie :X
[/nitpick]

Statistics are like bikinis. What they reveal is suggestive, but what they hide is vital.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op 14 september 2004 @ 16:54:
Reflectie is idd. te zwaar en te traag... ik heb namelijk het object al, ik ben alleen te lui om te typen.
Dan moet je geen programmeur worden
Daarnaast loont het zich niet om een extra DB veld te maken wat aangeeft wat wel en niet getoond mag worden.
Je kan natuurlijk ook gewoon je computer in de fik steken en kijken wat er dan gebeurt.
php:eval() is eigenlijk toch wel ok.
Hint: stop met java en gaan php doen, want ik heb de indruk dat de java-wereld zonder jou kan.

  • whoami
  • Registratie: December 2000
  • Laatst online: 16:52
Alarmnummer schreef op 14 september 2004 @ 12:35:
In 9 van de 10 gevallen duidt het nodig hebben van reflection op een slecht ontwerp.
Hmm, daar ben ik het niet altijd mee eens. :P
Ik heb bv. een systeem (een soort factory systeem) dat m'n assembly dmv reflection bekijkt en kijkt welke types er allemaal kunnen gecreeërd worden.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Alarmnummer schreef op 14 september 2004 @ 17:30:
Hint: stop met java en gaaN php doen, want ik heb de indruk dat de java-wereld zonder jou kan.
Dus geen JAVA reflection, maar zelfreflectie? Dank je voor het advies, jij vertegenwoordiger van JAVA.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op 14 september 2004 @ 18:23:
[...]
Dus geen JAVA reflection, maar zelfreflectie? Dank je voor het advies, jij vertegenwoordiger van JAVA.
Je moet niet met halfgebakken oplossingen een probleem proberen op te lossen.

Zoals ik hierboven al heb gemeld is er waarschijnlijk iets mis met je oplossing op het moment dat je met reflectie aan aanmerking komt.

[edit]
Ga is trouwens met 1 a :P
whoami
Hmm, daar ben ik het niet altijd mee eens.
Ik heb bv. een systeem (een soort factory systeem) dat m'n assembly dmv reflection bekijkt en kijkt welke types er allemaal kunnen gecreeërd worden.
Daarom staat er ook 9 van de 10 keer.

[ Voor 67% gewijzigd door Alarmnummer op 14-09-2004 18:42 ]

Pagina: 1