Article View: nl.comp.programmeren
Article #242Re: [java] overerving vraagje
From: Edwin Martin
Date: Wed, 26 Jan 2005 22:27
Date: Wed, 26 Jan 2005 22:27
51 lines
2588 bytes
2588 bytes
Passero wrote:
> Het zit eigenlijk zo: ik heb een aantal klassen die ongeveer hetzelfde
> doen. Ze moeten een interface hebben naar de buitenwereld toe. Dus een
> aantal methoden die MOETEN geïmplementeerd worden. Dan zijn er nog een
> aantal methoden die door de abstracte klasse zijn geïmplementeerd maar
> als ik die private zet, dan kunnen de klassen die erver ook niet meer
> aan die methoden en ze hebben die juist wel nodig. Het is de bedoeling
> dat enkel de klassen die erven van de abstracte klassen die methoden
> kunnen gebruiken. Het is dus niet echt public dat ze mogen zijn.
Helaas kent Java geen modifier om methods alleen zichtbaar te laten zijn
in de huidige klasse en afgeleide klassen (ik geloof dat protected dat
in C++ doet).
Ik kan maar een oplossing bedenken:
public class F {
private F() {
// Kan geen instantie van deze klasse maken
}
public void bewerking_afgeschermd() {
//...
}
}
public class F1 extends F {
public void bewerking() {
//...
// Gebruik bewerking_afgeschermd()
super.bewerking_afgeschermd();
//...
}
public void bewerking_afgeschermd() {
throw new NoSuchMethodException();
}
}
Groeten,
Edwin Martin
--
http://www.bitstorm.org/
Technical Details
Message-ID:
<4PUJd.21418$PH1.9436@amsnews05.chello.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!amsnews01.chello.com!amsnews04.chello.com!amsnews05.chello.com.POSTED!53ab2750!not-for-mailReferences:
<29PJd.5609$U95.109676@phobos.telenet-ops.be> <TsQJd.21247$PH1.15924@amsnews05.chello.com> <sHQJd.5709$DD6.547963@phobos.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Thread: 107324,a9b9af059088cf5d X-Google-Thread: fcea4,a9b9af059088cf5d X-Google-Attributes: gid107324,gidfcea4,public X-Google-Language: DUTCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!amsnews01.chello.com!amsnews04.chello.com!amsnews05.chello.com.POSTED!53ab2750!not-for-mail From: Edwin Martin <e.j.martin@chello.nl> Organization: Bitstorm Internet Development User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: nl.comp.programmeren,be.comp.programming Subject: Re: [java] overerving vraagje References: <29PJd.5609$U95.109676@phobos.telenet-ops.be> <TsQJd.21247$PH1.15924@amsnews05.chello.com> <sHQJd.5709$DD6.547963@phobos.telenet-ops.be> In-Reply-To: <sHQJd.5709$DD6.547963@phobos.telenet-ops.be> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Lines: 51 Message-ID: <4PUJd.21418$PH1.9436@amsnews05.chello.com> Date: Wed, 26 Jan 2005 22:27:12 GMT NNTP-Posting-Host: 24.132.235.253 X-Complaints-To: abuse@chello.nl X-Trace: amsnews05.chello.com 1106778432 24.132.235.253 (Wed, 26 Jan 2005 23:27:12 MET) NNTP-Posting-Date: Wed, 26 Jan 2005 23:27:12 MET