🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153946

Re: Zagadnienie polimorfizmu?

#153946
From: Piotr Rezmer
Date: Thu, 12 Dec 2013 20:51
52 lines
2112 bytes
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: <l8d7kj$2vp$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Piotr Rezmer <p.r@bezBzdur.pl>
Newsgroups: pl.comp.lang.java
Subject: Re: Zagadnienie polimorfizmu?
Date: Thu, 12 Dec 2013 21:51:11 +0100
Organization: ATMAN - ATM S.A.
Lines: 52
Message-ID: <l8d7kj$2vp$1@node2.news.atman.pl>
References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com>
NNTP-Posting-Host: apn-95-40-86-202.dynamic.gprs.plus.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1386881491 3065 95.40.86.202 (12 Dec 2013 20:51:31 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Thu, 12 Dec 2013 20:51:31 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
In-Reply-To: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit