Hello C#
4 participants
Page 2 sur 3
Page 2 sur 3 • 1, 2, 3
Re: Hello C#
Pire que moi j'vous dis , un psychorigide , le VOO !!!
Baron Robert de la etc.- Fonction : Grammar nazi, diptèro-sodomite, écolo-nanar, capilotracteur, opposant à la pensée rance de droite !
Messages : 21483
Date d'inscription : 10/04/2016
Re: Hello C#
On plaisante pas avec l'informatique. C'est tout notre avenir qui est en jeu !Tu parles une bonne tempête solaire et tout grille !!!
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
les noms et prénoms sont tellement secrets que plus rien ne s'affiche à droite
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Si si, ça devrait marcher avec le dernier code que je t'ai donné (et que je remets plus bas).
Mais parfois, au lieu d’exécuter, quand t'appuies sur "run", il recompile, il faut donc appuyer sur "run" une seconde fois !
Le code complet:
Mais parfois, au lieu d’exécuter, quand t'appuies sur "run", il recompile, il faut donc appuyer sur "run" une seconde fois !
Le code complet:
- Code:
class Personne
{
string nom;
string prenom;
public Personne(string argument1, string argument2)
{
prenom = argument1;
nom = argument2;
}
public void Afficher()
{
Console.WriteLine(prenom + " " + nom);
}
}
class MainClass {
public static void Main (string[] args) {
Personne p1 = new Personne("Archie", "De Monpucier");
p1.Afficher();
}
}
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
effectivement il recompilait....sinon c'est ok
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Bon... Est-ce que tu as compris le principe ?
On crée le modèle (une personne a un nom et un prénom).
Puis on crée des objets à partir de ce modèle (une personne Archie, une personne Bob, une personne Jeff, etc...).
On choisit ce qui peut être modifié, vu, etc... de l’extérieur de la classe.
On crée le modèle (une personne a un nom et un prénom).
Puis on crée des objets à partir de ce modèle (une personne Archie, une personne Bob, une personne Jeff, etc...).
On choisit ce qui peut être modifié, vu, etc... de l’extérieur de la classe.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
On peut appliquer ça à quoi par exemple
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
De quoi tu parles ? De la POO ou d'un concept en particulier ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Alors, dans le programme, on affiche le nom directement dans l'objet. C'est pas très propre...
Chaque classe a une méthode publique ToString qui renvoie une chaîne de caractères.
Par défaut, elle renvoie le nom de l'objet.
Avec ce code:
La ligne "Console.WriteLine(p1);" demande "affiche la Personne p1". Le programme ne peut pas savoir comment on veut qu'il affiche les données, parce qu'un programme, c'est con.
Il faut donc réécrire la fonction qui transforme l'objet en texte.
Code complet:
Chaque classe a une méthode publique ToString qui renvoie une chaîne de caractères.
Par défaut, elle renvoie le nom de l'objet.
Avec ce code:
- Code:
class Personne
{
string nom;
string prenom;
public Personne(string argument1, string argument2)
{
prenom = argument1;
nom = argument2;
}
}
class MainClass {
public static void Main (string[] args) {
Personne p1 = new Personne("Archie", "De Monpucier");
Console.WriteLine(p1);
}
}
La ligne "Console.WriteLine(p1);" demande "affiche la Personne p1". Le programme ne peut pas savoir comment on veut qu'il affiche les données, parce qu'un programme, c'est con.
Il faut donc réécrire la fonction qui transforme l'objet en texte.
- Code:
override public string ToString()
{
return prenom + " " + nom;
}
Code complet:
- Code:
class Personne
{
string nom;
string prenom;
public Personne(string argument1, string argument2)
{
prenom = argument1;
nom = argument2;
}
override public string ToString()
{
return prenom + " " + nom;
}
}
class MainClass {
public static void Main (string[] args) {
Personne p1 = new Personne("Archie", "De Monpucier");
Console.WriteLine(p1);
}
}
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
et Bob qui est dispensé de C++ Ca m'énerve !
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Ca fonctionne....Mais je fatigue du cerveau...De plus c'est l'heure de la sieste
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Alors, je vais te parler d'un dernier truc pour aujourd'hui: les énumérations.
Tu te rappelles des types de donnée ?
On a la chaîne de caractères (string) qui peut être un mot, une phrase, etc...
Le nombre entier (int) par exemple pour l'âge de la personne, ou ce qu'il a en banque en centimes.
Le nombre à virgule (float) par exemple pour la taille de la personne.
Mais il y a d'autres données dont le résultat est un choix parmi une liste.
Par exemple, le mois en cours, c'est janvier, ou février, ou mars, etc...
La situation matrimoniale de la personne, c'est célibataire, ou mariée, divorcée, veuve, etc...
On va rajouter le genre de la personne. On proposera le choix entre mâle, femelle, trans ou calamar. On écrit une énumération comme ça:
On peut donc créer une donnée du type "Genre" et lui donner une des 4 valeurs existantes.
On modifiera aussi le constructeur pour prendre en compte le genre de la personne:
On utilisera le genre lors de l'affichage, en précisant Mme. pour les nanas, M. pour les gars, et rien pour les autres comme ça (pour faire un test, c'est bien sûr avec if - les conditionnelles):
Et voici le code complet avec tests !
Tu te rappelles des types de donnée ?
On a la chaîne de caractères (string) qui peut être un mot, une phrase, etc...
Le nombre entier (int) par exemple pour l'âge de la personne, ou ce qu'il a en banque en centimes.
Le nombre à virgule (float) par exemple pour la taille de la personne.
Mais il y a d'autres données dont le résultat est un choix parmi une liste.
Par exemple, le mois en cours, c'est janvier, ou février, ou mars, etc...
La situation matrimoniale de la personne, c'est célibataire, ou mariée, divorcée, veuve, etc...
On va rajouter le genre de la personne. On proposera le choix entre mâle, femelle, trans ou calamar. On écrit une énumération comme ça:
- Code:
enum Genre
{
male,
femelle,
trans,
calamar
}
On peut donc créer une donnée du type "Genre" et lui donner une des 4 valeurs existantes.
On modifiera aussi le constructeur pour prendre en compte le genre de la personne:
- Code:
Genre genre;
public Personne(string argument1, string argument2, Genre argument3)
{
prenom = argument1;
nom = argument2;
genre = argument3;
}
On utilisera le genre lors de l'affichage, en précisant Mme. pour les nanas, M. pour les gars, et rien pour les autres comme ça (pour faire un test, c'est bien sûr avec if - les conditionnelles):
- Code:
override public string ToString()
{
string nomComplet = "";
if (genre == Genre.male) nomComplet += "M. ";
else if (genre == Genre.femelle) nomComplet += "Mme. ";
nomComplet += prenom + " " + nom;
return nomComplet;
}
Et voici le code complet avec tests !
- Code:
using System;
class Personne
{
string nom;
string prenom;
Genre genre;
public enum Genre
{
male,
femelle,
trans,
calamar
}
public Personne(string argument1, string argument2, Genre argument3)
{
prenom = argument1;
nom = argument2;
genre = argument3;
}
override public string ToString()
{
string nomComplet = "";
if (genre == Genre.male) nomComplet += "M. ";
else if (genre == Genre.femelle) nomComplet += "Mme. ";
nomComplet += prenom + " " + nom;
return nomComplet;
}
}
class MainClass {
public static void Main (string[] args) {
Personne p1 = new Personne("Archie", "De Monpucier", Personne.Genre.male);
Personne p2 = new Personne("Catherine", "Dusudouest", Personne.Genre.femelle);
Personne p3 = new Personne("Pierrick", "Fatima", Personne.Genre.trans);
Console.WriteLine(p1);
Console.WriteLine(p2);
Console.WriteLine(p3);
}
}
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Comment tu fais pour te rappeler toute cette procédure????
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Bah c'est mon métier !
C'est comme demander à un cuisinier comment il se rappelle la recette de sa sauce !
C'est comme demander à un cuisinier comment il se rappelle la recette de sa sauce !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
L'enfant Voodoo a écrit:Bah c'est mon métier !
C'est comme demander à un cuisinier comment il se rappelle la recette de sa sauce !
Bref, à force de pratiquer, pratiquer et pratiquer encore...
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Tu veux que je te montre le deuxième "pilier" de la POO: après l'encapsulation des données, l'héritage ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
envoie
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
(J'vais devenir bon en POO ! )
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Alors, une classe peut avoir des "enfants". Un "enfant" est une classe qui possède tout ce que la classe mère a, plus ce qu'on lui rajoute.
Par exemple, 100 veut faire un simulateur de foot: les joueurs sont des personnes, mais ont en plus un numéro, un nombre de buts, de cartons, etc...
Nous, on va faire un gestionnaire de groupes de rock, et un musicien est une personne qui joue d'un instrument.
Pour déclarer une Classe fille d'une autre, on écrit comme ça:
Le Musicien a donc déjà un nom, un prénom et un genre.
On va lui ajouter un instrument:
Il faut maintenant un constructeur.
Comme un Musicien est une Personne, il doit appeler le constructeur de la Personne, comme ça:
Le mot "base" se réfère à la classe mère.
On veut également afficher l'instrument lorsqu'on affiche le musicien. C'est donc dans la méthode ToString():
Et voilà un code complet:
Par exemple, 100 veut faire un simulateur de foot: les joueurs sont des personnes, mais ont en plus un numéro, un nombre de buts, de cartons, etc...
Nous, on va faire un gestionnaire de groupes de rock, et un musicien est une personne qui joue d'un instrument.
Pour déclarer une Classe fille d'une autre, on écrit comme ça:
- Code:
class Musicien : Personne
Le Musicien a donc déjà un nom, un prénom et un genre.
On va lui ajouter un instrument:
- Code:
string instrument;
Il faut maintenant un constructeur.
Comme un Musicien est une Personne, il doit appeler le constructeur de la Personne, comme ça:
- Code:
public Musicien(string argument1, string argument2, Genre argument3, string argument4) : base (argument1, argument2, argument3)
{
instrument = argument4;
}
Le mot "base" se réfère à la classe mère.
On veut également afficher l'instrument lorsqu'on affiche le musicien. C'est donc dans la méthode ToString():
- Code:
override public string ToString()
{
return base.ToString() + " (" + instrument + ")";
}
Et voilà un code complet:
- Code:
using System;
class Personne
{
string nom;
string prenom;
Genre genre;
public enum Genre
{
male,
femelle,
trans,
calamar
}
public Personne(string argument1, string argument2, Genre argument3)
{
prenom = argument1;
nom = argument2;
genre = argument3;
}
override public string ToString()
{
string nomComplet = "";
if (genre == Genre.male) nomComplet += "M. ";
else if (genre == Genre.femelle) nomComplet += "Mme. ";
nomComplet += prenom;
if (!String.IsNullOrEmpty(nom)) nomComplet += " " + nom;
return nomComplet;
}
}
class Musicien : Personne
{
string instrument;
public Musicien(string argument1, string argument2, Genre argument3, string argument4) : base (argument1, argument2, argument3)
{
instrument = argument4;
}
override public string ToString()
{
return base.ToString() + " (" + instrument + ")";
}
}
class MainClass {
public static void Main (string[] args) {
Musicien m1 = new Musicien("Jimi", "Hendrix", Personne.Genre.male, "guitare");
Musicien m2 = new Musicien("Gilbert", "Montagne", Personne.Genre.male, "piano et chant");
Console.WriteLine(m1);
Console.WriteLine(m2);
}
}
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
M. Jimi Hendrix (guitare)
M. Gilbert Montagne (piano et chant)
M. Gilbert Montagne (piano et chant)
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Ouhais !
Demain, je te montre comment on fait une classe "groupe de rock" avec différents musiciens !
Demain, je te montre comment on fait une classe "groupe de rock" avec différents musiciens !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Quelle chance j'ai
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Oui mais tu n'en profites pas, je suis sûr que t'as rien compris et que tu ne fais même pas l'effort d'essayer !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
L'enfant Voodoo a écrit:Oui mais tu n'en profites pas, je suis sûr que t'as rien compris et que tu ne fais même pas l'effort d'essayer !
Détrompe toi....
Primo...Si je ne comprends pas, je demande
Secundo, si je ne voulais pas en profiter je t'aurais envoyé caguer
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Ouhais mais j'ai résumé en expliquant mal et avec des exemples pourris plusieurs semaines de cours d'un informaticien "normal".archibald de montpucier a écrit:Primo...Si je ne comprends pas, je demande
Si tu comprends mon bordel, c'est que tu es surhumain !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
C'est vrai qu'il faut te suivre....Mais c'est le vocabulaire qui est inhumain pour un néophyte, le reste ça se digère...avec un peu d'attention
Mais j'ai tout noté dans un fichier ésssprès C++
Mais j'ai tout noté dans un fichier ésssprès C++
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Alors, quand tu reviendras, tu me diras comment faire une Classe "groupe de rock".
Pas le programme, juste quelles propriétés elle aurait.
Pas le programme, juste quelles propriétés elle aurait.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
L'enfant Voodoo a écrit:Alors, quand tu reviendras, tu me diras comment faire une Classe "groupe de rock".
Pas le programme, juste quelles propriétés elle aurait.
Vite fait alors...
Nombre de musicos
mâles/femelles/calamars
âges
orientation sexuelle
instruments
A+
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Oui mais non !archibald de montpucier a écrit:Vite fait alors...
Nombre de musicos
mâles/femelles/calamars
âges
orientation sexuelle
instruments
Les noms, genres, instruments, etc... on a déjà tout ça dans la classe "Musicien" qu'on a écrit hier, du coup on n'a plus besoin de s'en occuper !
Un groupe, on pourrait le résumer à:
- Nom de groupe,
- Genre (si on veut),
- Année de création,
- liste de Musiciens (donc la classe Groupe sera composée d'objets de la classe Musicien).
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
ok on reprend donc la suite de hier...
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Oui !
On commence par les trucs les plus simples.
On crée la classe Groupe:
Dedans, il nous faut les propriétés: on va commencer avec le nom du groupe (du texte, donc une string) et l'année de création (un nombre entier).
Ensuite, il nous faut un constructeur, qui permettra de créer un groupe. Pour créer le groupe, on aura besoin de son nom et son année.
Et voilà ! La classe est en place en quelques lignes.
On va rajouter une fonction qui va afficher le groupe. D'abord le nom, puis en dessous, l'année entre parenthèses.
Et voilà !
La classe complète ici:
Et, pour finir, un code complet qui crée deux groupes et les affiche:
On commence par les trucs les plus simples.
On crée la classe Groupe:
- Code:
class Groupe
{
}
Dedans, il nous faut les propriétés: on va commencer avec le nom du groupe (du texte, donc une string) et l'année de création (un nombre entier).
- Code:
string nom;
int anneeCreation;
Ensuite, il nous faut un constructeur, qui permettra de créer un groupe. Pour créer le groupe, on aura besoin de son nom et son année.
- Code:
public Groupe(string leNom, int annee)
{
nom = leNom;
anneeCreation = annee;
}
Et voilà ! La classe est en place en quelques lignes.
On va rajouter une fonction qui va afficher le groupe. D'abord le nom, puis en dessous, l'année entre parenthèses.
- Code:
public void Afficher()
{
Console.WriteLine(nom);
Console.WriteLine("(" + anneeCreation + ")");
}
Et voilà !
La classe complète ici:
- Code:
class Groupe
{
string nom;
int anneeCreation;
public Groupe(string leNom, int annee)
{
nom = leNom;
anneeCreation = annee;
}
public void Afficher()
{
Console.WriteLine(nom);
Console.WriteLine("(" + anneeCreation + ")");
}
}
Et, pour finir, un code complet qui crée deux groupes et les affiche:
- Code:
using System;
class Groupe
{
string nom;
int anneeCreation;
public Groupe(string leNom, int annee)
{
nom = leNom;
anneeCreation = annee;
}
public void Afficher()
{
Console.WriteLine(nom);
Console.WriteLine("(" + anneeCreation + ")");
}
}
class MainClass {
public static void Main (string[] args) {
Groupe beatles = new Groupe("The Beatles", 1960);
Groupe cannibal = new Groupe("Cannibal Corpse", 1988);
beatles.Afficher();
Console.WriteLine(); // pour sauter une ligne
cannibal.Afficher();
}
}
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
J'ai rajouté deux musiciens en t'attendant
using System;
class Personne
{
string nom;
string prenom;
Genre genre;
public enum Genre
{
male,
femelle,
trans,
calamar
}
public Personne(string argument1, string argument2, Genre argument3)
{
prenom = argument1;
nom = argument2;
genre = argument3;
}
override public string ToString()
{
string nomComplet = "";
if (genre == Genre.male) nomComplet += "M. ";
else if (genre == Genre.femelle) nomComplet += "Mme. ";
nomComplet += prenom;
if (!String.IsNullOrEmpty(nom)) nomComplet += " " + nom;
return nomComplet;
}
}
class Musicien : Personne
{
string instrument;
public Musicien(string argument1, string argument2, Genre argument3, string argument4) : base (argument1, argument2, argument3)
{
instrument = argument4;
}
override public string ToString()
{
return base.ToString() + " (" + instrument + ")";
}
}
class MainClass {
public static void Main (string[] args) {
Musicien m1 = new Musicien("Jimi", "Hendrix", Personne.Genre.male, "guitare");
Musicien m2 = new Musicien("Gilbert", "Montagne", Personne.Genre.male, "piano et chant");
Musicien m3 = new Musicien("Dede", "Lecalamar", Personne.Genre.calamar, "batterie");
Musicien m4 = new Musicien("Kate", "dusudouest", Personne.Genre.femelle, "chant");
Console.WriteLine(m1);
Console.WriteLine(m2);
Console.WriteLine(m3);
Console.WriteLine(m4);
}
}
using System;
class Personne
{
string nom;
string prenom;
Genre genre;
public enum Genre
{
male,
femelle,
trans,
calamar
}
public Personne(string argument1, string argument2, Genre argument3)
{
prenom = argument1;
nom = argument2;
genre = argument3;
}
override public string ToString()
{
string nomComplet = "";
if (genre == Genre.male) nomComplet += "M. ";
else if (genre == Genre.femelle) nomComplet += "Mme. ";
nomComplet += prenom;
if (!String.IsNullOrEmpty(nom)) nomComplet += " " + nom;
return nomComplet;
}
}
class Musicien : Personne
{
string instrument;
public Musicien(string argument1, string argument2, Genre argument3, string argument4) : base (argument1, argument2, argument3)
{
instrument = argument4;
}
override public string ToString()
{
return base.ToString() + " (" + instrument + ")";
}
}
class MainClass {
public static void Main (string[] args) {
Musicien m1 = new Musicien("Jimi", "Hendrix", Personne.Genre.male, "guitare");
Musicien m2 = new Musicien("Gilbert", "Montagne", Personne.Genre.male, "piano et chant");
Musicien m3 = new Musicien("Dede", "Lecalamar", Personne.Genre.calamar, "batterie");
Musicien m4 = new Musicien("Kate", "dusudouest", Personne.Genre.femelle, "chant");
Console.WriteLine(m1);
Console.WriteLine(m2);
Console.WriteLine(m3);
Console.WriteLine(m4);
}
}
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
input
clear
Mono C# compiler version 4.0.4.0
M. Jimi Hendrix (guitare)
M. Gilbert Montagne (piano et chant)
Dede Lecalamar (batterie)
Mme. Kate dusudouest (chant)
clear
Mono C# compiler version 4.0.4.0
M. Jimi Hendrix (guitare)
M. Gilbert Montagne (piano et chant)
Dede Lecalamar (batterie)
Mme. Kate dusudouest (chant)
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Et maintenant, on va ajouter nos musiciens au groupe !
Combien un groupe à de musiciens ? On sait pas... Donc on va utiliser une liste.
On crée puis on construit une liste comme ça:
Entre < et >, on indique le type de ce qu'on veut créer. Ici, on met notre classe Musicien (mais on peut créer une liste de nombres, de textes, etc... Si on veut faire un festival, on crée une liste de Groupes).
On a créé une liste vide.
Pour ajouter un élément à la liste, on utilise Add (ajouter):
On crée donc une fonction dans notre groupe permettant d'ajouter un élément dans la liste.
On pourra donc créer un groupe et ajouter des membres comme ça:
Et voilà un code complet qui crée deux groupes avec ses membres et les affiche:
Combien un groupe à de musiciens ? On sait pas... Donc on va utiliser une liste.
On crée puis on construit une liste comme ça:
Entre < et >, on indique le type de ce qu'on veut créer. Ici, on met notre classe Musicien (mais on peut créer une liste de nombres, de textes, etc... Si on veut faire un festival, on crée une liste de Groupes).
- Code:
List<Musicien> musiciens= new List<Musicien>();
On a créé une liste vide.
Pour ajouter un élément à la liste, on utilise Add (ajouter):
- Code:
musiciens.Add(new Musicien("Kate", "", Personne.Genre.femelle, "chant"));
On crée donc une fonction dans notre groupe permettant d'ajouter un élément dans la liste.
- Code:
public void AjouterMusicien(Musicien m)
{
musiciens.Add(m);
}
On pourra donc créer un groupe et ajouter des membres comme ça:
- Code:
Groupe antikal = new Groupe("Antikal", 2017);
antikal.AjouterMusicien(new Musicien("Dede", "", Personne.Genre.calamar, "batterie"));
Et voilà un code complet qui crée deux groupes avec ses membres et les affiche:
- Code:
using System;
using System.Collections.Generic;
class Personne
{
string nom;
string prenom;
Genre genre;
public enum Genre
{
male,
femelle,
trans,
calamar
}
public Personne(string argument1, string argument2, Genre argument3)
{
prenom = argument1;
nom = argument2;
genre = argument3;
}
override public string ToString()
{
string nomComplet = "";
if (genre == Genre.male) nomComplet += "M. ";
else if (genre == Genre.femelle) nomComplet += "Mme. ";
nomComplet += prenom;
if (!String.IsNullOrEmpty(nom)) nomComplet += " " + nom;
return nomComplet;
}
}
class Musicien : Personne
{
string instrument;
public Musicien(string argument1, string argument2, Genre argument3, string argument4) : base (argument1, argument2, argument3)
{
instrument = argument4;
}
override public string ToString()
{
return base.ToString() + " (" + instrument + ")";
}
}
class Groupe
{
string nom;
int anneeCreation;
List<Musicien> musiciens= new List<Musicien>();
public Groupe(string leNom, int annee)
{
nom = leNom;
anneeCreation = annee;
}
public void AjouterMusicien(Musicien m)
{
musiciens.Add(m);
}
public void Afficher()
{
Console.WriteLine(nom);
Console.WriteLine("(" + anneeCreation + ")");
if (musiciens.Count > 0)
{
Console.WriteLine(musiciens.Count + " membres:");
foreach (Musicien m in musiciens)
Console.WriteLine(" - " + m);
}
}
}
class MainClass {
public static void Main (string[] args) {
Groupe beatles = new Groupe("The Beatles", 1960);
beatles.AjouterMusicien(new Musicien("John", "Lennon", Personne.Genre.male, "piano"));
beatles.AjouterMusicien(new Musicien("George", "Harrison", Personne.Genre.male, "guitare"));
beatles.AjouterMusicien(new Musicien("Paul", "McCartney", Personne.Genre.male, "basse"));
beatles.AjouterMusicien(new Musicien("Ringo", "Starr", Personne.Genre.male, "batterie"));
Groupe antikal = new Groupe("Antikal", 2017);
antikal.AjouterMusicien(new Musicien("Dede", "", Personne.Genre.calamar, "batterie"));
antikal.AjouterMusicien(new Musicien("Kate", "", Personne.Genre.femelle, "chant"));
antikal.AjouterMusicien(new Musicien("Archie", "", Personne.Genre.male, "basse"));
antikal.AjouterMusicien(new Musicien("Voodoo", "", Personne.Genre.male, "guitare"));
beatles.Afficher();
Console.WriteLine(); // pour sauter une ligne
antikal.Afficher();
}
}
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Mono C# compiler version 4.0.4.0
The Beatles
(1960)
4 membres:
- M. John Lennon (piano)
- M. George Harrison (guitare)
- M. Paul McCartney (basse)
- M. Ringo Starr (batterie)
Antikal
(2017)
4 membres:
- Dede (batterie)
- Mme. Kate (chant)
- M. Archie (basse)
- M. Voodoo (guitare)
The Beatles
(1960)
4 membres:
- M. John Lennon (piano)
- M. George Harrison (guitare)
- M. Paul McCartney (basse)
- M. Ringo Starr (batterie)
Antikal
(2017)
4 membres:
- Dede (batterie)
- Mme. Kate (chant)
- M. Archie (basse)
- M. Voodoo (guitare)
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Donc, on a un objet (Groupe) qui est composé d'objets (Musicien) qui héritent d'autres objets (Personne).
La POO, c'est comme jouer aux Lego !
La POO, c'est comme jouer aux Lego !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Ok j'ai compris le principe mais ce sont toutes ces séquences ;.=() etc etc et ce vocabulaire qui sont indigestes pour un néophyte
Mais bon avec le temps on prend l'habitude je présume...
Mais bon avec le temps on prend l'habitude je présume...
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Alors, on peut détailler toute ligne que tu comprends pas.
'=' signifie affecter, c'est l'opération la plus basique de la programmation.
using System;
Dans ce programme on crée une valeur entière a (int).
Puis, avec =, on lui donne la valeur 5.
On l'affiche.
Puis, avec =, on lui donne la valeur 8.
On l'affiche.
Puis, on crée une autre valeur entière b (int).
Avec =, on lui donne la valeur a + 2. Comme a est = à 8, ça donne 10.
On l'affiche.
'=' signifie affecter, c'est l'opération la plus basique de la programmation.
using System;
- Code:
class MainClass {
public static void Main (string[] args) {
int a;
a = 5;
Console.WriteLine(a);
a = 8;
Console.WriteLine(a);
int b = a + 2;
Console.WriteLine(b);
}
}
Dans ce programme on crée une valeur entière a (int).
Puis, avec =, on lui donne la valeur 5.
On l'affiche.
Puis, avec =, on lui donne la valeur 8.
On l'affiche.
Puis, on crée une autre valeur entière b (int).
Avec =, on lui donne la valeur a + 2. Comme a est = à 8, ça donne 10.
On l'affiche.
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Bon, Archie, on fait quoi comme programme maintenant ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Dans un supermarché....
Classes/listes
- A rayon boucherie / boeuf-porc-veau
- B rayon fruits et légumes / salade-pdt-avocat
- C rayon produits frais / beurre-yahourt-fromage
Sortir les dates limite de consos sachant que chacune est différente
Classes/listes
- A rayon boucherie / boeuf-porc-veau
- B rayon fruits et légumes / salade-pdt-avocat
- C rayon produits frais / beurre-yahourt-fromage
Sortir les dates limite de consos sachant que chacune est différente
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Alors, comment est-ce que tu aborderais le problème ?
Quelles classes avec quelles propriétés ?
Quelles classes avec quelles propriétés ?
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
L'enfant Voodoo a écrit:Alors, comment est-ce que tu aborderais le problème ?
Quelles classes avec quelles propriétés ?
Ca demande reflexion
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Ouhais ! C'est la phase qui précède la programmation ! L'analyse, l'architecture...
Il y a un domaine consacré à ça: L'UML, et en particulier les diagrammes de classe.
https://fr.wikipedia.org/wiki/Diagramme_de_classes
On réfléchit aux classes et à leur rapport avec les autres.
Par exemple, sur ce forum, on aurait les classes:
- Utilisateur (avec un login, un mot de passe, puis tout le profil...),
- Message (avec un Utilisateur - celui qui l'a écrit - et la date et l'heure),
- Topique (qui est une liste de Messages),
- Sous-Forum (qui a un nom comme "Laboratoire du Geek", une description, une liste de Topiques, un Utilisateur modérateur, etc...),
- ...
Il y a un domaine consacré à ça: L'UML, et en particulier les diagrammes de classe.
https://fr.wikipedia.org/wiki/Diagramme_de_classes
On réfléchit aux classes et à leur rapport avec les autres.
Par exemple, sur ce forum, on aurait les classes:
- Utilisateur (avec un login, un mot de passe, puis tout le profil...),
- Message (avec un Utilisateur - celui qui l'a écrit - et la date et l'heure),
- Topique (qui est une liste de Messages),
- Sous-Forum (qui a un nom comme "Laboratoire du Geek", une description, une liste de Topiques, un Utilisateur modérateur, etc...),
- ...
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
CLASSES : les produits avec comme caractéristiques les dates de préemption
Création de 3 groupes de produits
Création de 3 groupes de produits
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
wikipedia.org/wiki/Diagramme_de_classes
très instructif...et pédagogique
très instructif...et pédagogique
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
Oui, on pourrait avoir une classe Produit, avec comme caractéristiques le nom du produit, sa description et sa date de péremption.archibald de montpucier a écrit:CLASSES : les produits avec comme caractéristiques les dates de préemption
Création de 3 groupes de produits
Puis une classe Groupe de produits qui aura une liste de produits de même type.
Dans la pratique, tout sera dans une base de données, bien entendu, et on pourra faire des requêtes assez facilement pour trouver les produits périmés, ceux qui vont être périmés dans les 3 prochains jours, ceux pour les vegans, etc...
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Imagine un hyper avec des milliers de produits...
Sinon c'est repos ce week end...?
Sinon c'est repos ce week end...?
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Re: Hello C#
C'est repos pour moi, toi tu peux programmer ton magasin !
L'enfant Voodoo- Fonction : Influenceur nihiliste
Messages : 13995
Date d'inscription : 09/04/2016
Re: Hello C#
Ok...L'enfant Voodoo a écrit:C'est repos pour moi, toi tu peux programmer ton magasin !
Vous êtes en train de boire du Fanta dans des crânes?
archibald de montpucier- Fonction : Majordome révoqué pour filouterie d'aliment (art 315-5 du code pénal) Fait la manche pour survivre
Messages : 21059
Date d'inscription : 16/05/2016
Page 2 sur 3 • 1, 2, 3
Page 2 sur 3
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum