débutant: probleme de comprehension (les constructeurs)

Le
Georges Rouvrais
bonsoir,

y aurait il sur ce forum pour m'expliquer les sorties t1 et t2 en regard
de l'appel de l'un ou l'autre des constructeurs. Dans le main quels sont
constructeurs appelées (je pense que c'est le premier pour t1 et le second
pour t2)? Je comprends la premiere sortie mais pour la 2,3 et 4 je nage :
pouvez vous m'expliquer le pourquoi des ces sorites?

Merci de votre aide.

Cordialemnent,
Georges.

Voici le bout de code:




public class Time
{
// private member variables
private int Year;
private int Month;
private int Date;
private int Hour;
private int Minute;
private int Second = 30;

// public accessor methods
public void DisplayCurrentTime()
{
System.DateTime now = System.DateTime.Now;
System.Console.WriteLine(
"Debugt: {0}/{1}/{2} {3}:{4}:{5}",
now.Month, now.Day, now.Year, now.Hour, now.Minute,
now.Second);


System.Console.WriteLine("Timet: {0}/{1}/{2} {3}:{4}:{5}",
Month, Date, Year, Hour, Minute, Second);
}

//constructors
public Time(System.DateTime dt)
{
Year = dt.Year;
Month = dt.Month;
Date = dt.Day;
Hour = dt.Hour;
Minute = dt.Minute;
Second = dt.Second; // explicit assignement

}
public Time(int Year, int Month, int Date, int Hour, int Minute)
{
this.Year = Year;
this.Month = Month;
this.Date = Date;
this.Hour = Hour;
this.Minute = Minute;
}
}
public class Tester
{
static void Main()
{
System.DateTime currentTime = System.DateTime.Now;
Time t = new Time(currentTime);
t.DisplayCurrentTime();

Time t2 = new Time(2005, 11, 18, 11, 45);
t2.DisplayCurrentTime();
System.Console.WriteLine("Appuyer sur une touche pour quitter le
programme svp !");
System.Console.ReadKey();
}
}


--
Les dysfonctionnements les plus courants d'un pc sont souvent causés par
le truc entre la chaise et le clavier..
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Marc Thivolle
Le #12145571
Georges,

Le constructeur appelé est celui dont la signature (le nombre de paramètres
et leurs types) correspond à l'appel.

Quelles sont les sorties dont tu parles ?

Ta méthode DisplayCurrentTime affiche les informations concernant la date et
l'heure courante et non l'objet instancié.

A part çà appeler une classe Time c'est un peu gonflé car source de
confusion.

Marc


"Georges Rouvrais" message de news:
bonsoir,

y aurait il sur ce forum pour m'expliquer les sorties t1 et t2 en regard
de l'appel de l'un ou l'autre des constructeurs. Dans le main quels sont
constructeurs appelées (je pense que c'est le premier pour t1 et le second
pour t2)? Je comprends la premiere sortie mais pour la 2,3 et 4 je nage :
pouvez vous m'expliquer le pourquoi des ces sorites?

Merci de votre aide.

Cordialemnent,
Georges.

Voici le bout de code:




public class Time
{
// private member variables
private int Year;
private int Month;
private int Date;
private int Hour;
private int Minute;
private int Second = 30;

// public accessor methods
public void DisplayCurrentTime()
{
System.DateTime now = System.DateTime.Now;
System.Console.WriteLine(
"nDebugt: {0}/{1}/{2} {3}:{4}:{5}",
now.Month, now.Day, now.Year, now.Hour, now.Minute,
now.Second);


System.Console.WriteLine("Timet: {0}/{1}/{2} {3}:{4}:{5}",
Month, Date, Year, Hour, Minute, Second);
}

//constructors
public Time(System.DateTime dt)
{
Year = dt.Year;
Month = dt.Month;
Date = dt.Day;
Hour = dt.Hour;
Minute = dt.Minute;
Second = dt.Second; // explicit assignement

}
public Time(int Year, int Month, int Date, int Hour, int Minute)
{
this.Year = Year;
this.Month = Month;
this.Date = Date;
this.Hour = Hour;
this.Minute = Minute;
}
}
public class Tester
{
static void Main()
{
System.DateTime currentTime = System.DateTime.Now;
Time t = new Time(currentTime);
t.DisplayCurrentTime();

Time t2 = new Time(2005, 11, 18, 11, 45);
t2.DisplayCurrentTime();
System.Console.WriteLine("Appuyer sur une touche pour quitter le
programme svp !");
System.Console.ReadKey();
}
}


--
Les dysfonctionnements les plus courants d'un pc sont souvent causés par
le truc entre la chaise et le clavier.....


Publicité
Poster une réponse
Anonyme