Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

débutant: probleme de comprehension (les constructeurs)

1 réponse
Avatar
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(
"\nDebug\t: {0}/{1}/{2} {3}:{4}:{5}",
now.Month, now.Day, now.Year, now.Hour, now.Minute,
now.Second);


System.Console.WriteLine("Time\t: {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.....

1 réponse

Avatar
Marc Thivolle
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" a écrit dans le
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.....