Generellt instansieras en klass där man behöver den. Det kan vara i en metod, i en annan klass eller i ett huvudprogram. Varje instans "initieras" dvs skapas precis där den behövs och fullständigt oberoende av var andra instanser behövs.
Har ännu en frågan angående bästa sättet.
Jag tar ett exempel på det jag jobbar på nu, är ganska simpel webbprogramering (php) men era teorier och svar bör vara av generel kraktär (skulle jag vilja iaf :)).
Dessa klasser har jag:
- Databasklass.
- Postklass (hanterar generellt poster i databasen (t.ex. uppdatera, lägga till, radera, visa), använder sig av databasklassens metoder).
- Nyhetsklass (bygger vidare på postklassens metoder).
- Valideringsklass (validerar indata och används i nyhetsklassen).
- Templateklass (används i nyhetsklassen).
I min index-fil initerar jag sedan min Template- ,Databas- och Nyhetsklass. Anropar sedan funktionerna i Nyhetsklassen. Klart.
Känns som jag i nuläget är inkonsekvent iomed att jag initerar databas- och templteklassen i indexfilen medans jag initierar valideringsklassen i själva nyhetsklassen.
Hur gär man bäst? Initierar klasserna först när man behöver dem fast det då blir i andra klasser?
Om så vart initerar man dem, i början på klassen eller först när man behöver dem?
Nu är jag inte sådär 100%:igt insatt i alla termer så rätta mig om jag förvirrar till begreppen. :)
Känns som jag beskriver det rörigt, hänger ni inte med så säg till så ska jag försöka förklara det bättre.