eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCo może robić konstruktor i dlaczego nie?Re: Co może robić konstruktor i dlaczego nie?
  • Data: 2012-07-04 21:49:13
    Temat: Re: Co może robić konstruktor i dlaczego nie?
    Od: "Jordan Szubert" <u...@j...us.to> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Dnia 04-07-2012 o 20:50:53 slawek <h...@s...pl> napisał(a):

    > Niech będzie sobie klasa (w czymkolwiek, niekoniecznie C++)
    >
    > class Foo { Foo(){...}; run(){...} };
    >
    > Obiekt tej klasy tworzymy sobie jako Foo foo = new Foo(); // czy jakoś
    > tak, nieważne
    >
    > Obiekt istnieje, więc przychodzi czas na metodę run(), która jak sama
    > nazwa wskazuje (BASIC) robi to co robi.
    >
    > I tu jest pytanie, a nawet dwa:
    >
    > 1. Czy nie wystarczyłoby zrobić copy-paste tego co ma run() w środku do
    > konstruktora i wy...ć [ref1] zbędne już run() ?
    >
    > 2. Czy metodę run() można wywoływać w konstruktorze (i dlaczego nie?)
    >
    > Jeszcze raz - wywołanie konstruktora i run() są jedno-po-drugim, nigdy
    > nie będzie potrzeby rozdzielenia. UWAGA: podkreślam - niekoniecznie C++.
    > Także C#, Java, cokolwiek co lubicie.
    >
    > TIA
    > slawek
    >
    > [ad ref1] ... = rzuci

    nie widzę, jaka właściwość jakiego języka wymuszałaby taki zapis,
    podejrzewam inny powód:
    obiekt foo ma sporo właściwości, które mają rozsądne wartości domyślne
    ustawiane w konstruktorze, ale pomiedzy konstrukcją a foo.run() masz
    możliwość skonfigurowania Sobie obiektu, jeśli jest to taki rzadki
    wypadek, gdy domyślne ustawienia są nieoptymalne...


    --
    Jordan Szubert

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: