🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #267707

Re: Ciemna strona C++

#267707
From: Maciej Sobczak
Date: Fri, 23 Nov 2007 13:23
39 lines
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-mail
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>

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