-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!newsfeed2.atman.pl!newsfe
ed.atman.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.new
s.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "slawek" <h...@s...pl>
Newsgroups: pl.comp.programming
References: <4ff4908d$0$1302$65785112@news.neostrada.pl>
<o...@a...home>
<4ff4a8dd$1$26700$65785112@news.neostrada.pl>
<jt2mjk$hud$1@mx1.internetia.pl> <jt3ab8$gr8$1@inews.gazeta.pl>
<4ff54041$1$26701$65785112@news.neostrada.pl>
<7...@a...googlegroups.com>
<4ff5a465$0$1221$65785112@news.neostrada.pl>
<1...@n...googlegroups.com>
In-Reply-To: <1...@n...googlegroups.com>
Subject: Re: Co może robić konstruktor i dlaczego nie?
Date: Fri, 6 Jul 2012 16:01:34 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 15.4.3555.308
X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3555.308
Lines: 34
Message-ID: <4ff6efc0$1$26684$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 62.69.202.124
X-Trace: 1341583296 unt-rea-a-01.news.neostrada.pl 26684 62.69.202.124:64075
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:198298
[ ukryj nagłówki ]Użytkownik "Andrzej Jarzabek" napisał w wiadomości grup
dyskusyjnych:1e74e8d1-f280-479f-96a7-fa085ecea990@n1
6g2000vbn.googlegroups.com...
>konstruowany. Czyli jeśli masz klasę B, która wywołuje swój 'run' w
>konstruktorze, tworzysz dziedziczącą po niej klasę D, która nadpisuje
>funkcje wirtualne klasy B, to wywołania tych funkcji w 'run' nadal
>wywołują funkcje zdediniowane dla B, nie te dla D. Nie mówiąc już o
To jest chore.
Ale czas na PODSUMOWANIE...
Pomysł, aby w duchu RAII odpalać np. wątek itp. przez wywołanie
konstruktora, tj. przez samo skonstruowanie obiektu pewnej klasy (w dalszej
dyskusji nazywanej Foo) może być kłopotliwy... bardziej niż np. wywoływanie
dodatkowej publicznej metody run(), a to dlatego że:
1. różne języki w różny sposób rozumieją konstruktor i nie jest on
zupełnie-taką-samą-metodą-jak-inne (vtable, wyjątki), problemy z
dziedziczeniem;
2. możliwe jest przypadkowe stworzenie obiektu tymczasowego (co może w
niezamierzony sposób zrobić coś, czego nie chcielibyśmy);
3. konstruktor powinien zawierać wyłącznie te operacje, które nie mają
efektów ubocznych innych niż tworzenie obiektów powiązanych z daną klasą.
Punkt 3. można tak rozwinąć: konstruktor może tworzyć obiekty zagregowanie,
lecz konsekwentne stosowanie reguły będzie chronić przed nieodwracalnymi
efektami ubocznymi i w tym przypadku. Zawsze należy dążyć do tego, aby para
wywołań konstruktor-destruktor (bez jakichkolwiek innych pomiędzy) była bez
znaczenia dla działania programu. (A ten postulat nie jest spełniony, gdy
konstruktor zawiera nietrywialny run(), tj. wywołanie
procedury/funkcji/metody/czegokolwiek co niesie ze sobą nieodwracalne skutki
np. otwarcie pliku do zapisu i skasowanie w nim "starych" danych.)
Następne wpisy z tego wątku
- 06.07.12 16:13 AK
- 06.07.12 16:33 Edek Pienkowski
- 06.07.12 19:11 Bogusław Szczepanowski
- 06.07.12 19:20 AK
- 06.07.12 20:38 slawek
- 06.07.12 20:55 Edek Pienkowski
- 07.07.12 10:54 Bogusław Szczepanowski
- 07.07.12 10:59 Bogusław Szczepanowski
- 07.07.12 12:13 AK
- 07.07.12 12:28 Edek Pienkowski
- 07.07.12 12:36 Michoo
- 07.07.12 19:29 slawek
- 09.07.12 12:38 Artur M. Piwko
- 11.07.12 13:49 AK
- 11.07.12 23:59 Michoo
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- 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ą."
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML