Article View: pl.comp.lang.c
Article #267707Re: Ciemna strona C++
From: Maciej Sobczak
Date: Fri, 23 Nov 2007 13:23
Date: Fri, 23 Nov 2007 13:23
39 lines
3870 bytes
3870 bytes
On 23 Lis, 00:33, Seweryn Habdank-Wojewódzki <shw_m...@wp.pl> wrote: > > Nie trzeba kasować metod ze słownika, żeby podzielić funkcjonalność > > czegoś na etapy. > > Tak, ale tam było ciche założenie, że używamy Py i że user to paskudniaczek, > który ewentualnie będzie miał ochotę coś schrzanić Jeżeli to paskudniaczek, który będzie miał ochotę coś zchranić, to język dynamiczny w rodzaju Py (gdzie nie ma nawet czegoś takiego jak prywatność) da mu *wiele* okazji, żeby to zrobić. Po co kasować metodę, skoro każdy może sobię ją potem samemu dodać? Kiedyś z okna obserwowałem niewielki plac budowy (w Polsce). Budowa zaczęła się od postawienia drewnianej bramy na brzegu placu. Tylko bramy. Można ją było otwierać i zamykać i nawet jakaś ciężarówka tamtędy przejechała z raz albo dwa (po uprzednim otwarciu bramy, w wykonaniu pewnego pana w kufajce). Płotu jednak wokół placu nie było. Była tylko ta brama na brzegu placu. Ot, takie właśnie "zabezpieczenie". > Jak już mamy takie pogaduszki o językach, to jak takie coś wygląda w Adzie? Co wygląda? Kasowanie metod? :-D Ada jest językiem statycznym. Przede wszystkim ma coś takiego jak prywatność. Ma też interfejsy a koncepcje obiektowe zwykle implementuje się też z wykorzystaniem pakietów. Z projektowego punktu widzenia ten temat można rozwiązać dokładnie tak, jak w C++ albo w Javie. Czyli albo inicjalizację obiektu robimy w ukryciu przed klientem enkapsulując konstruktor bądź opierając się o drobniejsze prywatne procedury, albo dzielimy interfejs obiektu na dwa, odpowiednio do różnych etapów jego życia. Nie ma tu nic specyficznego dla Ady. -- Maciej Sobczak * www.msobczak.com * www.inspirel.com
Technical Details
Message-ID:
<3dabcf79-648f-47cd-b4c3-e955626be573@r31g2000hsg.googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!news.n-ix.net!news2.arglkargh.de!feeder.erje.net!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!198.186.194.247.MISMATCH!news-out.readnews.com!news-xxxfer.readnews.com!postnews.google.com!r31g2000hsg.googlegroups.com!not-for-mailReferences:
<fghgeo$spf$1@nemesis.news.tpi.pl> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh206f$2d6$1@news.supermedia.pl> <fh2ma2$rd0$1@news.vectranet.pl> <fh2po8$d0c$1@news.dialog.net.pl> <fh9v4k$mss$2@bozon2.softax.pl> <fhaest$9or$1@news.vectranet.pl> <fheq5d$iot$1@bozon2.softax.pl> <fhhfae$bj$1@news.vectranet.pl> <fi1ot2$24s$1@bozon2.softax.pl> <fi20va$5ud$1@news.vectranet.pl> <fi45ok$g39$1@bozon2.softax.pl> <fi4m84$nme$1@news.vectranet.pl> <f15afef5-4a21-4ac2-8e62-cc0d9c5f71d1@b15g2000hsa.googlegroups.com> <fi52pa$45h$1@news.vectranet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.uni-stuttgart.de!news.belwue.de!news.n-ix.net!news2.arglkargh.de!feeder.erje.net!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!198.186.194.247.MISMATCH!news-out.readnews.com!news-xxxfer.readnews.com!postnews.google.com!r31g2000hsg.googlegroups.com!not-for-mail From: Maciej Sobczak <see.my.homepage@gmail.com> Newsgroups: pl.comp.lang.c Subject: Re: Ciemna strona C++ Date: Fri, 23 Nov 2007 05:23:08 -0800 (PST) Organization: http://groups.google.com Lines: 46 Message-ID: <3dabcf79-648f-47cd-b4c3-e955626be573@r31g2000hsg.googlegroups.com> References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh206f$2d6$1@news.supermedia.pl> <fh2ma2$rd0$1@news.vectranet.pl> <fh2po8$d0c$1@news.dialog.net.pl> <fh9v4k$mss$2@bozon2.softax.pl> <fhaest$9or$1@news.vectranet.pl> <fheq5d$iot$1@bozon2.softax.pl> <fhhfae$bj$1@news.vectranet.pl> <fi1ot2$24s$1@bozon2.softax.pl> <fi20va$5ud$1@news.vectranet.pl> <fi45ok$g39$1@bozon2.softax.pl> <fi4m84$nme$1@news.vectranet.pl> <f15afef5-4a21-4ac2-8e62-cc0d9c5f71d1@b15g2000hsa.googlegroups.com> <fi52pa$45h$1@news.vectranet.pl> NNTP-Posting-Host: 137.138.37.241 Mime-Version: 1.0 X-Trace: posting.google.com 1195824188 30388 127.0.0.1 (23 Nov 2007 13:23:08 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Fri, 23 Nov 2007 13:23:08 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: r31g2000hsg.googlegroups.com; posting-host=137.138.37.241; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20071019 Red Hat/1.5.0.12-0.7.el4 Firefox/1.5.0.12 pango-text,gzip(gfe),gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit