-
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
Następne wpisy z tego wątku
- 12.07.17 08:21 slawek
- 12.07.17 11:43 Roman Tyczka
- 12.07.17 14:05 slawek
- 12.07.17 15:24 M.M.
- 12.07.17 20:44 AK
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek