eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingnewbie: metody w OOPRe: newbie: metody w OOP
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix.pl
    !news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!bandi.nntp.kabelfoon.nl!feeder.ne
    ws-service.com!postnews.google.com!k39g2000yqb.googlegroups.com!not-for-mail
    From: Mariusz Marszałkowski <m...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: newbie: metody w OOP
    Date: Wed, 30 Jun 2010 14:06:17 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 56
    Message-ID: <8...@k...googlegroups.com>
    References: <6...@n...onet.pl>
    NNTP-Posting-Host: 89.229.34.123
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1277931977 1689 127.0.0.1 (30 Jun 2010 21:06:17 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Wed, 30 Jun 2010 21:06:17 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: k39g2000yqb.googlegroups.com; posting-host=89.229.34.123;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.6)
    Gecko/20100625 Firefox/3.6.6 ( .NET CLR 3.5.30729),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:185894
    [ ukryj nagłówki ]

    On 30 Cze, 15:13, j...@p...onet.pl wrote:
    > Mam pytanie dot. programowania obiektowego:
    > Czy zasady wydzielania metody przypominaj zasady wydzielania podprogramu?
    > Zauwa y em, e w aplikacjach obiektowych d y si do wi kszej ilo ci drobnych
    > metod (i klas) a nie mniejszej ilo ci bardziej z o onych.
    >
    > --
    > Wys ano z serwisu OnetNiusy:http://niusy.onet.pl

    Przykładem bardzo małej metody jest np.:

    class Pies {
    int dlugosc_zycia;
    Rasa rasa;

    Pies( Rasa rasa, int dlugosc_zycia ) {
    this->dlugosc_zycia = dlugosc_zycia;
    this->rasa = rasa;
    }

    int get_dlugosc() {
    return dlugosc_zycia;
    }

    };

    Nic nie stoi na przeszkodzie aby tak małych metod nie stosowac, a
    bezposrednio
    odwolywac sie do pola dlugosc zycia, tym bardziej do odczytu. Jednak w
    przyszlosci
    moze zapragniesz do klasy pies dodac np. klimat w jakim zyje i moze
    sie
    okazac ze niektore rasy zyjace w tropiku dozywaja o 10% krocej niz w
    klimacie
    umiarkowanym. Majac metode, zmodyfikujesz caly program natychmiast:

    return dluosc_zycia * ( klimat == "torpik" && rasa.zimnolubna() ?
    0.9 : 1.0 );

    Odwolujac sie do pola, takiej mozliwosci nie zostawiasz sobie na
    pozniej.

    Poza tym do metody get_dlugosc mozesz dodc nowy parametr i rozszerzyc
    funkcjonalnosc w dowolny sposob, a kompilator ladnie wykryje wszystkie
    miejsca gdzie uzyles wczesniej tej metody bez uzycia parametrow.

    Z punktu widzenia dobrego projektu, a programowanie obiektowe jest po
    to
    aby projekty byly dobre, zawsze lepiej jest rozbic kod na duza ilosc
    malych
    metod i malych klas.

    Pozdrawiam


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

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: