Article View: pl.comp.lang.java
Article #153947Re: Zagadnienie polimorfizmu?
From: Jacek Jackowiak
Date: Thu, 12 Dec 2013 21:15
Date: Thu, 12 Dec 2013 21:15
106 lines
3334 bytes
3334 bytes
Generalnie zgodzę się ze wszystkim co napisałeś, poza tymi statycznymi metodami. Taka klasa będzie bezstanowa, możemy ją więc traktować jako singleton (najlepiej w jakimś kontenerze IoC) z instancyjnymi metodami. Wtedy zawsze łatwiej coś takiego podmienić w testach (nie wszystkie stubery sobie radzą ze statycznymi metodami)
W dniu czwartek, 12 grudnia 2013 21:51:11 UTC+1 użytkownik Piotr Rezmer napisał:
> Jadalbert pisze:
>
>
>
> > public abstract class Figura {
>
>
>
> > public class Kolo extends Figura {
>
>
>
> > i teraz:
>
> > public class Licz {
>
> > private Figura figura;
>
> > private double PoleObwod;
>
> >
>
> > public Licz() {}
>
> >
>
> > public Licz(Figura figura) {
>
> > this.figura = figura;
>
> > }
>
> >
>
> > public double getPoleObwod() {
>
> > return figura.getPole() * figura.getObwod();
>
> > // i tu oczywi�cie b��d bo obwodu nie ma w klasie Figura !
>
>
>
> Zacz��bym od uporz�dkowania klas. Czyli najwy�sza klasa: Figura, z nie
>
> dziedziczy Krzywa, Powierzchnia, Bry�a.
>
> Krzywa ma w�a�ciwo�� Obw�d
>
> Powierzchnia ma w�a�ciwo�� Pole
>
> Bry�a ma w�a�ciwo�� Obj�to��
>
>
>
> Ko�o, Elipsa, Czworok�t,... dziedzicz� z powierzchni
>
> Okr�g dziedziczy z Krzywej.
>
> *�cian dziedziczy z Bry�y.
>
>
>
> Klasa Licz nie powinna otrzymywaďż˝ figury przez konstruktor, gdyďż˝
>
> oznacza�oby to �e przy ka�dym liczeniu musisz wo�a� konstruktor a to
>
> kosztuje. Klasa Licz powinna byďż˝ klasďż˝ Utility ze statycznymi metodami, np.
>
>
>
>
>
> public class Licz {
>
>
>
> static public Double getPole( Powierzchnia powierzchnia ) {
>
> ...
>
> return pole;
>
> }
>
>
>
> }
>
>
>
>
>
>
>
>
>
> --
>
> pozdrawiam
>
> Piotr
>
> XLR250&bmw_f650_dakar
Technical Details
Message-ID:
<b13bc0a1-4097-4dab-85ea-70533dfb2459@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!ie8no11914947qab.0!news-out.google.com!9ni7692qaf.0!nntp.google.com!p15no22492497qaj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com> <l8d7kj$2vp$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
X-Received: by 10.52.184.228 with SMTP id ex4mr3373765vdc.1.1386882936357; Thu, 12 Dec 2013 13:15:36 -0800 (PST) X-Received: by 10.49.110.165 with SMTP id ib5mr71954qeb.28.1386882936329; Thu, 12 Dec 2013 13:15:36 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!ie8no11914947qab.0!news-out.google.com!9ni7692qaf.0!nntp.google.com!p15no22492497qaj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.java Date: Thu, 12 Dec 2013 13:15:36 -0800 (PST) In-Reply-To: <l8d7kj$2vp$1@node2.news.atman.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.108.113.114; posting-account=GGrTCAoAAADc86hufNKyRb8XH8ISYvXk NNTP-Posting-Host: 213.108.113.114 References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com> <l8d7kj$2vp$1@node2.news.atman.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <b13bc0a1-4097-4dab-85ea-70533dfb2459@googlegroups.com> Subject: Re: Zagadnienie polimorfizmu? From: Jacek Jackowiak <jacek1986@gmail.com> Injection-Date: Thu, 12 Dec 2013 21:15:36 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit