Springen naar inhoud

[java] methode afschermen voor public maar niet voor andere klasse


  • Log in om te kunnen reageren

#1

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 05 december 2011 - 17:09

Stel ik heb een klasse A en een klasse B: (exacte code doet er niet doe normaal)

class A{
	public void methode1(){
		...
	}
	public void methode2(){
		...
	}
}

class B{
	...
}
Kan ik er voor zorgen dat "iedereen" aan methode1 kan maar slechts de klasse B aan methode2? Ik zou het niet weten hoe het moet en ik vrees dat het ook niet gaat.
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

317070

    317070


  • >5k berichten
  • 5567 berichten
  • Moderator

Geplaatst op 05 december 2011 - 17:27

Kan ik er voor zorgen dat "iedereen" aan methode1 kan maar slechts de klasse B aan methode2? Ik zou het niet weten hoe het moet en ik vrees dat het ook niet gaat.

Het kan, namelijk door B in dezelfde package te steken als A. Door in A geen modifier mee te geven aan de methode kan B er aan, maar C die niet in de package zit niet.

Een andere manier is door de methode private te maken, en B een geneste klasse te maken in A

Increased encapsulationóConsider two top-level classes, A and B, where B needs access to members of A that would otherwise be declared private. By hiding class B within class A, A's members can be declared private and B can access them.


Lees anders dit eens.
What it all comes down to, is that I haven't got it all figured out just yet
And I've got one hand in my pocket and the other one is giving the peace sign
-Alanis Morisette-

#3

jhnbk

    jhnbk


  • >5k berichten
  • 6905 berichten
  • VIP

Geplaatst op 05 december 2011 - 17:33

Ah. Het kan blijkbaar toch :) Eerste methode lijkt mij het transparantste aangezien alles klassen samen de package zouden moeten vormen. Thx 317070!
Het vel van de beer kunnen verkopen vraagt moeite tenzij deze dood voor je neervalt. Die kans is echter klein dus moeten we zelf moeite doen.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures