Acessar campos em classe herdeira

.NET

26/03/2014

Olá, galera.
Estou estudando aqui a parte de herança de classes e criei duas classes, uma herdando da outra. Porém, na classe herdeira eu não estou conseguindo acessar algumas coisas da classe mãe, só consigo acessar os campos da própria classe herdeira. Alguém tem ideia do que pode ser?
Grata.
Rachel Andrade

Rachel Andrade

Curtidas 0

Melhor post

Joel Rodrigues

Joel Rodrigues

31/03/2014

Olá, Rachel.
Observe que os campos que você está tentando acessar foram definidos como privados na classe base. Para que um campo esteja acessível nas classes filhas, é preciso definí-lo como protected ou public, dependendo do caso.
GOSTEI 1

Mais Respostas

Hector Figueroa

Hector Figueroa

26/03/2014

Poste o seu código por favor
GOSTEI 0
Rachel Andrade

Rachel Andrade

26/03/2014

Oi, esta é minha classe mãe:
public class Equipamento
{
	private string fabricante;
	private string modelo;
	
	public string Fabricante
	{
		get {return fabricante;}
		set {fabricante = value;}
	}
	
	public string Modelo
	{
		get {return modelo;}
		set {fabricante = modelo;}
	}
}
GOSTEI 0
Rachel Andrade

Rachel Andrade

26/03/2014

E aqui é a classe filha, onde eu quero acessar os campos herdados da classe mãe.
public class Motor : Equipamento
{
	private int potencia;
	
	public int Potencia
	{
		get {return potencia;}
		set {potencia = value;}
	}
	
	public string GetDescricaoCompleta
	{
		return "Motor " + this.modelo + " " + this.potencia + "CV " + this.fabricante;
	}
}

Obrigada.
GOSTEI 0
Hector Figueroa

Hector Figueroa

26/03/2014

Bom dia,
ou então apenas mencionar as variáveis que em maiúscula, pois as variáveis que você esta tentando acessar estão encapsuladas (em minuscula).
GOSTEI 0
Rachel Andrade

Rachel Andrade

26/03/2014

Gente, mil desculpas pela demora em dar um retorno. Muito obrigada a todos, consegui entender essa questão e resolvi meu problema.
Algumas propriedades precisavam ser públicas e outra protegidas, então só fiz as adaptações e passei a referenciar os atributos certos em cada lugar.
GOSTEI 0
Jair Souza

Jair Souza

26/03/2014

E como ficou ?
É interessante para outros com o mesma dificuldade...
GOSTEI 0
Rachel Andrade

Rachel Andrade

26/03/2014

Então, como eu disse, eu declarei as propriedades como protected ao invés de private, pois elas tinham de ser acessadas nas classes filhas. E fora das classes, acessei as propriedades públicas, as que começam com maiúsculo.
GOSTEI 1
POSTAR