[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