🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: nl.comp.programmeren
Article #242

Re: [java] overerving vraagje

#242
From: Edwin Martin
Date: Wed, 26 Jan 2005 22:27
51 lines
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-mail
References: <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