C# class

bayans Messages postés 14 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 2 décembre 2012 - 11 oct. 2012 à 12:32
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 11 oct. 2012 à 13:17
Je suis actuelement entrain d'apprendre C# et je je ne m'en sort pas tres bien. Depuis quelques jours j'essaie d'écrire un bout de code dans la classe DogChorus et de changer le GetOutput () méthode. Normalement, une boîte de message affichera un message contenant le nombre de pattes que tous les chiens ont et montrera les détails de tous les chiens créés.

Voici les 2 class que j'ai cree (class Dog et class DogChorus)


[b]namespace HelloDogs
{
class Dog

{
private int dogHeight;
private string dogColour;
private static int noOfLEgs;
private string breed;
private string barkSound;
private string dogSpeech;


public int DogHeight
{
get { return dogHeight; }
set { dogHeight = value; }
}

public string DogColour
{
get { return dogColour; }
set { dogColour = value; }
}

public static int NoOfLEgs
{
get { return Dog.noOfLEgs; }
set { Dog.noOfLEgs = value; }
}

public string Breed
{
get { return breed; }
set { breed = value; }
}

public static int noOfLegs = 4;

public Dog ()//A constructor is created.
{
dogColour = "Black and yellow";
breed = "german bush";
barkSound = "Woof!";
}

private void SetSound(String barkSound)
{
this.barkSound = barkSound;
}
private bool IsBig(int y)
{
int size = y;
if (size < 50)
{
return false;
}
else
{
return true;

}
}

public string GetSpeech(int passed_size)
{
if (IsBig(passed_size) == true)
{
dogSpeech = "Hello. I am a " + dogColour + ". " + breed + " , I mesure ." + dogHeight + ". " + barkSound + " I am Big ";

}
else
{
dogSpeech = "Hello. I am a " + dogColour + ". " + breed + " , I mesure ." + dogHeight + ". " + barkSound + " I am small ";

}
return dogSpeech;
}

private void SetSound(String barkSound)
{
this.barkSound = barkSound;
}
}
}/b

Voici la 2eme class:

namespace HelloDogs
{
class DogChorus
{
Dog dogColour;
Dog breed;
Dog dogHeight;
Dog barkSound;
Dog noOfLegs;
public string dogSpeech { get; set; }

public DogChorus()
{
dogColour = new Dog();
breed = new Dog();

}

public string GetOutput()
{

MessageBox.Show("All the dogs have " + noOfLegs + "legs");

return dogSpeech;
}

}
}

1 réponse

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
11 oct. 2012 à 13:17
Salut,

ta variable statique noOfLegs n,e peut pas être appelée directement (pas d'héritage ici),
il faut donc la préfixer avec le nom de sa classe :

Dog.noOfLegs

ou faire une fonction statique d'accès à cette variable si elle avait été "private".

bye.
0
Rejoignez-nous