eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwTypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS? › Re: TypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS?
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!newsreader4.netcolog
    ne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.
    fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada
    .pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.
    pl.POSTED!not-for-mail
    From: Roman Tyczka <n...@b...no>
    Subject: Re: TypeScript - jak uzyskać zmienne prywatne? Gdzie korzyści z TS?
    Newsgroups: pl.comp.www
    User-Agent: 40tude_Dialog/2.0.15.84
    MIME-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    Sender: r...@t...no.found
    References: <qkp5ov$imf$1@news.icm.edu.pl> <1...@t...com>
    <qkrhgq$2sb$1@news.icm.edu.pl>
    Date: Sat, 7 Sep 2019 16:12:42 +0200
    Message-ID: <4...@t...com>
    Lines: 46
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 94.75.90.137
    X-Trace: 1567865562 unt-rea-a-02.news.neostrada.pl 527 94.75.90.137:10203
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 3056
    X-Received-Body-CRC: 4126885187
    Xref: news-archive.icm.edu.pl pl.comp.www:403642
    [ ukryj nagłówki ]

    On Thu, 5 Sep 2019 19:43:52 +0200, Marek S wrote:

    >> Nie żabym się znał na TS, choć mam w planie nim się zająć, ale tak na
    >> logikę to zastanawia mnie które _message wg Ciebie miałaby wziąć metoda
    >> printMessage() wywołana z klasy Test2? Dla mnie to ewidentny konflikt.
    >>
    >
    > Kurcze, jesteś drugą osobą, która o to dziś mnie pyta. Dla mnie sprawa
    > jest tak oczywista jak oddychanie. Napisz sobie skrypt w PHP o podobnej
    > strukturze i tam dostaniesz odpowiedź.

    Ja nie napisałem, że nie znam odpowiedzi w innych językach, napisałem, że
    dla mnie to nie jest oczywiste jak Ci się wydaje.

    > Jeśli nie PHP, to może C#. Jeśli
    > miałbym tworzyć standardy, to z pewnością powieliłbym zachowanie się
    > prywatnych zmiennych z tego typu języków.

    To, że w jakichś językach jest to tak czy inaczej nie jest dowodem, że tak
    powinno być.

    > Reasumując, metoda printMessage() powinno zwrócić wartość "dupa".
    > Istnienie identycznej zmiennej prywatnej w klasie potomnej nie ma prawa
    > nadpisywać tego, co jest w bazowej.
    >
    > Przedstaw mi swój tok rozumowania, który powoduje, że masz wątpliwości.
    > Ciekawi mnie ich źródło.

    Źródłem są przemyślenia. Oto mój tok rozumowania:
    Tworzysz obiekt klasy Test2. Klasa Test2 ma prywatne pole ukryte pod
    this._message. Wołasz z tego obiektu metodę, która zwraca this._message.
    Skoro jest to obiekt klasy Test2 to dla tego typu this._message jest czymś
    innym niż dla typy Test, prawda? Dla mnie to sprawa oczywista jak
    oddychanie ;-) Jest tu wyraźna niejednoznaczność i punkt sporny, który
    warto wywalić na twarz chociażby ostrzeżeniem.

    To, że Java czy C# zwraca bezrefleksyjnie (czy są jakieś ostrzeżenia
    kompilatora?) wcale nie jest fajne, bo łatwo o masę głupich błędów, które
    transpiler TS wyłapuje jak zeznałeś. Mnie to bardzo cieszy, bo nie uważam,
    że taka praktyka jak identyczna nazwa prywatnego pola w dziedziczeniu to
    dobra praktyka. Ot wszystko.


    --
    pozdrawiam
    Roman Tyczka

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: