Citat:
Ursprungligen postat av
pimzipumz
Hej,
Finns det nån speciell anledning till att man deklarerar metoder som private?
Vad jag förstår är det för att dölja information som användaren inte behöver veta och på så sätt förenkla programmet. Att man anropar private metoder i public metoder. Har jag förstått det rätt då?
Ett case för att försöka reda ut begreppen åt dig:
Tänk dig en kodsnutt som du behöver använda fler gånger i en klass, fast med olika parametervärden, där har du ju en bra kandidat för en metod.
Nu är det så att denna metod bara gör en liten del av det arbete den metod som anropade den gör, till exempel beräknar något, eller kanske sparar något i en databas.
I det senare fallet finns det till att börja med en risk att ha den publik, eftersom man då kan anropa den varifrån som helst och skicka in godtyckligt skräp. Är den däremot privat går den ju bara att anropa inifrån klassen själv. Med detta förfarande kan man lägga in valideringar etc i den anropande metoden och sedan när man vet att datat är ok kan man skicka in det i den privata metoden. I detta fall blir det en bra uppdelning av ansvar med, eftersom den privata metoden endast sparar data, ansvaret för att datat är korrekt läggs på den anropande metoden. Bra återanvändbarhet med andra ord
I detta fallet är den privata metoden endast en "stödmetod" i klassen som inte är meningsfull att anropa utifrån, därför är det säkrast för alla inblandade parter att göra den privat.
Var det ett bra case och förstår du något av det?