Új hozzászólás Aktív témák

  • Lacces

    őstag

    1. Kérdés:
    A C# és Java "dinamikus kötésének" a működése megegyezik?
    (Szülő-gyermek osztályra gondolok, Téglalap deklarált, de négyzettel hívtuk meg stb...)

    Lenne egy kérdésem, 9-ből 8-t megértettem, egynél akadt egy kérdésem... Osztály öröklés vagy dinamikus kötés - én ezt a szakszót láttam :-D

    Komplex és valós szám osztályok adottak, a lényeg, hogy van ez a 3 metódus, :
    Komplex osztályban definiált metódus:

    public Komplex plusz(Komplex k){ // Komplex osztályban
    System.out.println("K + K: "+toString() +" + " + k.toString());
    return new Komplex(re+k.re, im+k.im);

    }
    Valos osztályban definiált metódus:

    public Valos plusz(Komplex k){ // Valos osztályban
    System.out.println("V + K: "+toString() + " + " + k.toString());
    return new Komplex(re+k.re, k.im);

    public Valos plusz(Valos v){ // Valos osztályban
    System.out.println("V + V "+toString()+ " + " + v.toString());
    return new Valos(re+v.re);
    [

    És akkor ez történik a main-ben:
    Komplex kk = new Komplex(3.4, -5.6);
    Komplex kv = new Valos(1.2);
    Valos vv = new Valos(7.8)

    kk = vv;
    Console.WriteLine(kk.plusz(new Valos(9)).ToString());

    Az eredmény: V + K: (7.8) + (9.0) kiírás!

    kk=vv; Azt jelenti, hogy a kk objektum deklarált típusa komplex lesz, de dinamikus típus, mert a Valos osztály konstruktárat használja fel.? (Valósként van inicializálva? Nem tom, hogy ezt hogyan mondjuk)

    na most itt meghívja plusz() metódust. És itt elgondolkodtam, hogy miért a public Valos plusz(Valos v) metódust hívja meg! Ez nem tiszta.

    Ez az eredmény kiértékelés (függvény hívás hogyan történik?)

    1. Elsőnek a Komplex osztályon megy végig, aztán a Valósba megy.
    vagy
    2. Egyből a Valós osztályba megy?

Új hozzászólás Aktív témák