Hvordan opretter denne kode en forekomst af en klasse, der kun har en privat konstruktør?

Jeg arbejder på et lydbibliotek (med OpenAL) og tager inspiration fra grænsefladen fra FMOD, du kan se grænsefladen på dette link .

Jeg har leveret nogle begreber som: Sound, Channel og ChannelGroup, som du kan se gennem FMOD-interface, har alle disse klasser en privat konstruktør og for eksempel, hvis du vil oprette en lyd du mast bruger funktionen createSound () leveret af systemklassen (den samme, hvis du vil oprette en kanal eller en ChannelGroup).

Jeg vil gerne give en lignende mekanisme, men det gør jeg ikke ' ikke forstå, hvordan det fungerer bagved. For eksempel, hvordan kan funktionen createSound () skabe en ny forekomst af en lyd? Konstruktøren er privat, og fra lydgrænsefladen er der ingen statiske metoder eller venskab. Er der brugt nogle mønstre?

REDIGERING: Bare for at gøre OPs spørgsmål klar, spørger han ikke, hvordan man opretter en instans af klasse med privat konstruktør. Spørgsmålet er i linket,hvordan oprettes der instanser af klasser, der har private konstruktører og INGEN statiske metoder eller venfunktioner.

Tak.

5
задан razlebe 7 July 2011 в 08:04
поделиться