[Java lista] override vs overload

biziclop biziclop at gmail.com
2008. Már. 12., Sze, 13:00:43 CET


Mondom, ahol van ilyen, ott a fuggvenyszignaturaknak teljesen
rendezhetonek kell lennie, vagyis minden parameterkombinaciora
egyertelmu kell legyen, hogy melyik a legspecifikusabb fuggveny,
aminek a parameterlistajaba pont belefernek a megadott parameterek.

De ha belegondolsz, a valos eletben az emberek ezt amugy is igy
csinaljak. Sok borzalmas kodot lattam, de  f(String,Object) es
f(Object,String)-et nem. Na jo, talan egy-ket apache-os projektben. :)

lsp

2008/3/12 Suller András <suan2 at freemail.hu>:
> Ez nem fog működni, mert a fordító nem tudja, hogy melyik metódust kéne
>  meghívni:
>  Child c = new Child();
>  c.test("Goodbye", "blue", "monday"); //The method test(String, String,
>  Object) is ambiguous for the type Child
>
>  Tehát ha lenne "very late binding", akkor ez a hiba futásidőben jönne
>  elő, ami nem lenne túl szerencsés. Az más kérdés, hogy aki ezt a 3
>  metódust így megírja, az miért akarná a fent leírt módon meghívni?
>
>  Üdv,
>  psmith
>
>  Zsombor írta:
>
> >
>  >
>  >
>  > Szerintem elég zavaros, sőt eldönthetetlen esetekhez vezetne. Pl a
>  > következő példa esetében:
>  >
>  >
>  > public class Parent {
>  >
>  >     public void test(Object a, Object b, Object c) {
>  >
>  >         System.out.println("Parent.test(Object o)");
>  >
>  >     }
>  >
>  > }
>  >
>  > public class Child extends Parent {
>  >
>  >     public void test(String a, String b, Object c) {
>  >
>  >         System.out.println("string-string-object");
>  >
>  >     }
>  >
>  >     public void test(Object a, String b, String c) {
>  >
>  >         System.out.println("object-string-string");
>  >
>  >     }
>  >
>  >
>  >     public void test(String a, Object b, String c) {
>  >
>  >         System.out.println("string-object-string");
>  >
>  >     }
>  >
>  > }
>  >
>  >
>  >
>  > esetében egy test("Goodbye", "blue", "monday") hivás még a legöregebb
>  > tengerészeket is gondolkodásra késztetné :)
>  >
>  > üdv
>  >
>  >  Zs
>
>
> _______________________________________________
>  Javalist mailing list
>  Javalist at javagrund.hu
>  http://javagrund.hu/mailman/listinfo/javalist
>


További információk a(z) Javalist levelezőlistáról