-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: porneL <n...@p...net>
Newsgroups: pl.comp.programming
Subject: Re: [Objective-C] Enkapsulacja
Date: Tue, 03 Feb 2009 23:39:41 -0000
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 27
Message-ID: <o...@p...mshome.net>
References: <gmacvd$juh$1@inews.gazeta.pl>
NNTP-Posting-Host: nat2.g1.isko.net.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1233704383 795 213.199.198.226 (3 Feb 2009 23:39:43 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 3 Feb 2009 23:39:43 +0000 (UTC)
X-User: pornelspam
User-Agent: Opera Mail/10.00 (MacIntel)
Xref: news-archive.icm.edu.pl pl.comp.programming:180865
[ ukryj nagłówki ]On Tue, 03 Feb 2009 21:29:15 -0000, Tomek[TK] <t...@n...pl> wrote:
> Chcialbym przerobic powyzszy interfejs w taki sposob aby ukryc wszystkie
> metody interfejsu NSObject. Przede wszystkim nie chce dopuscic do tego,
> aby dozwolony byl zapis:
>
> A* obj = [[A alloc] init];
>
> tylko
>
> A* obj = [[A alloc] metodaInicjalizujaca];
>
>
> Bylbym wdzieczny za jakiekolwiek wskazowki.
Nadpisz init. Jeśli nie potrzebujesz parametrów, to sprawa załatwiona.
Jeśli parametry są niezbędne, to dobrze by było dopuścić ustawienie ich potem:
x = [[A alloc] init]
[x setFoo:foo]
W ostateczności możesz nadpisać init tak, żeby zwracał nil albo wyrzucał wyjątek,
jeżeli nie został wywołany z twojej alternatywy, ale to jest wbrew nieformalnemu
protokołowi nakazującemu, że wszystkie konstruktory mają odpalać self = [super init]
oraz wbrew relacji is-a, ponieważ z obiektem klasy NSObject nie będzie można robić
wszytkiego tego, co z NSObject (coś a'la circle-ellipse problem).
--
http://pornel.net
this.author = new Geek("porneL");
Następne wpisy z tego wątku
- 04.02.09 08:22 Tomasz Krzos
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=