eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAlgorytm hex,dec<->liczbaRe: Algorytm hex,dec<->liczba
  • X-Received: by 10.36.34.209 with SMTP id o200mr763861ito.0.1499814008531; Tue, 11 Jul
    2017 16:00:08 -0700 (PDT)
    X-Received: by 10.36.34.209 with SMTP id o200mr763861ito.0.1499814008531; Tue, 11 Jul
    2017 16:00:08 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!news.glorb.com!v202no45668itb.0!news-out.google.com!s132ni118itb.0!nntp.g
    oogle.com!v202no45662itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.c
    om!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Tue, 11 Jul 2017 16:00:08 -0700 (PDT)
    In-Reply-To: <a...@n...v.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.46.112;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.46.112
    References: <ojbd2k$m8a$1@node1.news.atman.pl> <ojdmh3$1u2$3@node2.news.atman.pl>
    <6...@g...com>
    <oje1q0$cv5$1@node2.news.atman.pl>
    <c...@g...com>
    <ojghmi$no5$1@node2.news.atman.pl>
    <d...@g...com>
    <ojgj5c$oul$1@node2.news.atman.pl> <ojgjjo$pam$1@node2.news.atman.pl>
    <f...@g...com>
    <ojgmpg$riu$1@node1.news.atman.pl>
    <b...@g...com>
    <ojgnpv$ses$1@node1.news.atman.pl>
    <f...@g...com>
    <ojj04l$2q6$3@node1.news.atman.pl>
    <7...@g...com>
    <ojmhb1$ie7$1@node1.news.atman.pl>
    <a...@g...com>
    <ojoq0n$cv4$1@node2.news.atman.pl>
    <3...@g...com>
    <5...@g...com>
    <2...@g...com>
    <1...@g...com>
    <a...@n...v.pl>
    <c...@g...com>
    <a...@n...v.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <2...@g...com>
    Subject: Re: Algorytm hex,dec<->liczba
    From: "M.M." <m...@g...com>
    Injection-Date: Tue, 11 Jul 2017 23:00:08 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:210711
    [ ukryj nagłówki ]

    On Tuesday, July 11, 2017 at 11:53:44 PM UTC+2, slawek wrote:
    > On Tue, 11 Jul 2017 13:30:26 -0700 (PDT), "M.M." <m...@g...com>
    > wrote:
    > > Nie. Ma to takie zalety, (rzecz jasna chodzi o zalety względem
    > > konkurencyjnego rozwiązania jakim jest agregacja wielu obiektów
    > > wewnątrz klasy bazowej)
    >
    > A w takiej np. Javie można użyć interfejsów.
    Zalety, o której pisałem wyżej, nie można uzyskać dzięki
    interfejsom. Każdą metodę interfejsu trzeba nadpisać w
    klasie implementującej ten interfejs. W przypadku agregacji,
    o której piszesz poniżej a ja też pisałem powyżej, nie
    trzeba nadpisywać, ale bez nadpisania nie ma się dostępu do
    metod agregowanych klas. Tylko w przypadku wielodziedziczenia
    ma się dostęp do składowych więcej niż dwóch klas (poprawnie:
    więcej niż dwóch hierarchii klas) bez reimplementacji.

    Przykład z dziedziczeniem pojedynczym

    class A {
    metoda1() {
    }
    };

    class B1 {
    A a;
    };

    class B2 : A {
    };

    B1 b1;
    b1.metoda1(); // błąd bez reimplementacji

    B2 b2;
    b2.metoda1(); // działa bez reimplementacji

    ////////////////////////////////////////////

    To samo będzie w przypadku wielodziedziczenia.

    class A {
    metodaA() {}
    };

    class B {
    metodaB() {}
    };

    class C1 {
    A a;
    B b;
    };


    class C2 : A, B {
    };


    C1.metodaA() // błąd;
    C1.metodaB() // błąd

    Muszę się męczyć i dopisywać:

    class C1 {
    A a;
    B b;
    metodaA() {
    a.metodaA();
    }
    metodaB() {
    b.metodaB();
    }
    };

    W przypadku klasy C2, kompilator za mnie to dopisze. Gdy używam C++, to
    jeszcze mam dziedziczenie wirtualne, aby lepiej kompilatorowi
    podpowiedzieć o jakie zachowanie klasy wyprowadzonej z kilku klas mi
    chodzi.




    > Albo mieć klasę z
    > zagnieżdżonymi klasami które dziedziczą osobno.
    To jest właśnie agregacja.

    > Jakoś to musi
    > działać, skoro ludzie piszą w tej Javie i nie narzekają.
    Działa, ale trzeba dopisać ręcznie to co może dopisać kompilator.


    > W
    >
    > Sorry, Python to nie jest szczególnie ogarnięty język, ale jak
    > porównać co można przez szablony w C++, a co można bez szablonów w
    > Pythonie (metaprogramowanie), to Python wygrywa bezdyskusyjnie.
    Rozwiń proszę.


    Pozdrawiam




Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: