🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Zagadnienie polimorfizmu?

#153977
From: A.L.
Date: Sat, 28 Dec 2013 03:29
59 lines
2476 bytes
On Thu, 12 Dec 2013 03:00:35 -0800 (PST), Jadalbert
<jadalbert.wincent@gmail.com> wrote:

>Jak to właściwie jest. Mam klasę abstrakcyjną (dodam, że rzecz ma się dziać w jsf - co to zmienia, nie wiem)
>
>public abstract class Figura {
>	public Figura(){}
>
>	private double pole;
>
>	public double getPole() {
>		return pole;
>	}
>}
>
>i klasę
>
>public class Kolo extends Figura {
>	public Kolo(){}
>
>	private double obwod;
>
>	public double getObwod() {
>		return obwod;
>	}
>}
>
>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 !
>	}
>}
>
>w "realu" będzie więcej klas jak Kolo i każda nie dość, że będzie pokrywała metody klasy bazowej to jeszcze będzie miała własne, dodatkowe. I skąd wziąć wiedzę, jakiej klasy jest to co przychodzi w konstruktorze?

1. A jak klasa Figura ma atrybut "pole" to dlaczego ma nie miec
atrybutu "obwod"

2. public double getPole() powinno byc "abstract". Obliczanie pola
powinno byc zostawione dla podklasy

3. Podobnie public double getObwod() powinno byc abstract a obliczanie
powinno byc zostawione dla podklasy

4. getObwod() i getPole() maja wiecej do roboty niz zworcenie wartosci
atrybutu, bo ktos musi to pole i ten obwod policzyc

A.L.
Technical Details
Message-ID: <20hsb9965f06nuifpeo5tud9nh7cmc3dbb@4ax.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!us.feeder.erje.net!news.glorb.com!news-in-01.newsfeed.easynews.com!easynews!core-easynews-01!easynews.com!en-nntp-13.dc1.easynews.com.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!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!us.feeder.erje.net!news.glorb.com!news-in-01.newsfeed.easynews.com!easynews!core-easynews-01!easynews.com!en-nntp-13.dc1.easynews.com.POSTED!not-for-mail
From: A.L. <alewando@aol.com>
Newsgroups: pl.comp.lang.java
Subject: Re: Zagadnienie polimorfizmu?
Message-ID: <20hsb9965f06nuifpeo5tud9nh7cmc3dbb@4ax.com>
References: <e8a6173d-2e5d-4055-9877-1bc8fa939deb@googlegroups.com>
User-Agent: ForteAgent/7.00.32.1200
MIME-Version: 1.0
Lines: 60
X-Complaints-To: abuse@easynews.com
Organization: Forte Inc.  http://www.forteinc.com/apn/
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will be unable to process your complaint properly.
Date: Fri, 27 Dec 2013 21:29:04 -0600
X-Received-Bytes: 2274
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit