SORU
1 EYLÜL 2008, PAZARTESİ


Yansıma nedir ve neden yararlıdır?

Yansıma nedir ve neden yararlıdır?

Java ilgimi çekecek, ama ilkeler her dilde aynıdır sanırım.

CEVAP
1 EYLÜL 2008, PAZARTESİ


Adı yansıması başka bir kod incelemek için aynı sistem içinde mümkün olan kod (veya kendisi) tanımlamak için kullanılır.

Örneğin, Java bilinmeyen bir türde bir nesne var, ve bir ara 'şey' eğer varsa. bu yöntem istediğini söyle Java statik yazarak sistem değil gerçekten tasarlanmış destek bu sürece nesne uygun olarak bilinen bir arayüz, ama yansıma kullanarak, kodunuzu olabilir bak nesneyi bulmak eğer öyle bir yöntem olarak adlandırılan 'şey' ve sonra Ara eğer istersen.

Yani Java bu kod bir örnek vermek (soru nesneyi hayal foo) :

Method method = foo.getClass().getMethod("doSomething", null);
method.invoke(foo, null);

Java çok yaygın bir kullanım örneği ek açıklamalar ile kullanımıdır. 4, örneğin, yansıma yöntemleri @Test ile etiketlenmiş açıklama için derslere bakmak için kullanır, ve daha sonra ünite test çalışırken onları arayacak JUnit.

http://docs.oracle.com/javase/tutorial/reflect/index.html başlamak için iyi bir yansıma örneği var

Ve son olarak, evet, bu kavramlar oldukça fazla statik olarak diğer türleri benzer yansıma desteği olan diller (C# gibi). Dinamik olarak yazılan dil kullanmak durumunda yukarıda anlatılan daha az gerekli (beri derleyici sağlayacak herhangi bir yöntem adı üzerinde herhangi bir nesne, başarısız zamanı, eğer öyle bir yer yok), ancak ikinci davanın arıyorum yöntemleri olan, işaretli, ya da iş belirli bir şekilde hala yaygın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Rugiagialia

    Rugiagialia

    1 Ocak 2008
  • soyacincautv

    soyacincautv

    14 NİSAN 2010
  • Utah Valley Online

    Utah Valley

    9 AĞUSTOS 2010