Gå til innhold

Anbefalte innlegg

Hei folkens

Har en liten sak her

Gitt følgende klasse

public class BaseClass
{
public BaseClass(String pSomeValue)
{
	// Constructor med en inngående STRING verdi
}
}

 

Så lager jeg en ny klasse basert på denne klassen

public class NewClass : BaseClass
{
public BaseClass()
{
	// Hva skal man ha her tro?
}
}

Jeg vil nemlig at den nye klassen ikke skal ha noen inngående parametere i konstruktøren. Ideer?

Lenke til kommentar
Videoannonse
Annonse
Jeg vil nemlig at den nye klassen ikke skal ha noen inngående parametere i konstruktøren. Ideer?

Regner med du mente å skrive NewClass i konstruktøren i subklassen. Enten må du kalle base-ctoren med en default verdi, feks null eller string.Empty:

 

public class NewClass : BaseClass
{
public NewClass() : base(string.Empty) { }
}

Eller du kan lage en protected default ctor i base-klassen din. Da vil subklassen kunne ha en default ctor, men ingen andre kan kalle den.

 

public class BaseClass 
{
protected BaseClass() { }

public BaseClass(string s)
{
	 // ...
}
}

public class NewClass : BaseClass
{
public NewClass() { }
}

 

Når BaseClass kun tillater å instantieres med en string så betyr jo det at den er i ulovlig tilstand hvis den ikke får en string, dermed synes jeg det er riktigst av subklassene å gi noe til baseklassen. Men det er jo min mening :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...