CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Python, les classes... pour quoi ?

Lightbeam
Lightbeam
Niveau 10
06 juin 2016 à 08:11:06

Bonjour, j'essaye de me mettre à python et j'en suis aux "fameuses" classes... j'essaye d'en saisir le concept, j'arrive à comprendre leur syntaxe, mère/fille, machin.truc, etc mais pour le moment je n'arrive pas à saisir le concept et à trouver un exemple concret de classe (en comparaison avec une fonction par exemple)
Qui pourrait m’éclairer avec un petit exemple concret ET utile ?
Merci de votre aide :ok:

AlphaCygni
AlphaCygni
Niveau 10
06 juin 2016 à 09:13:21

Les classes ne font rien d'indispensable par rapport à la logique de ton programme, tu pourrais très bien t'en passer.

Leur rôle, c'est juste de faire du rangement : ça te permet d'organiser tes données. Sur un gros développement qui s'étend sur plusieurs mois, tu vas oublier à quoi servait telle fonction, et ça devient important de bien organiser ton code pour pas avoir réfléchir trois plombes sur "comment on se sert de ca déjà ?".
Si quelqu'un d'autre doit bosser sur ton code, ça te permet de lui fournir des interfaces pour qu'il n'ait pas besoin de tout lire pour s'en servir. Tu peux mettre les structures de données internes et fonctions auxiliaires dans un coin pour qu'il n'y touche pas, et lui donner uniquement accès aux bonnes fonctions qu'il doit utiliser.
Pense à un jouet pour enfant avec toute l'électronique compliquée cachée sous la coque en plastique, et de l'extérieur t'as juste des gros boutons colorés pour qu'un gosse puisse s'en servir.

Lightbeam
Lightbeam
Niveau 10
06 juin 2016 à 11:01:54

Ok. Mais par exemple comment tu ferai une classe avec une fonction de division de 2 chiffres comme

def division(x,y);
    divi = x/y
    return divi

Qu'on appellerait simplement d'un :

division(12,4)
>>>3

Et quelle utilité d'en faire une classe ensuite ? Puisque là c'est assez basique.
Et comment gérer les classe mère / fille avec ce genre de petits bouts de codes ?
Merci encore.

Message édité le 06 juin 2016 à 11:02:04 par Lightbeam
Pseudo supprimé
Pseudo supprimé 06 juin 2016 à 11:42:27

Dans l'exemple que tu a donné les classes ne servent a roen du tout.

Mais tu peut comparer une classe a un "moule", avec ce moule tu creera toujours le meme objet (un objet livre par exemple).

Cet objet livre aura des proprietés propre a lui (comme son nombre de page ou sa taille) ainsi que des fonctions le concernant (comme ouvrir ou fermer le livre )

Et surtout tu peut le faire interargir avec d'autres classes, utiliser l'heritage, le polymorphisme...

Les classes ne sont pas obligatoire en soit elles permettent juste d'avoir un programme propre et efficace

Pseudo supprimé
Pseudo supprimé 06 juin 2016 à 22:36:41

D'autres objets*

Lightbeam
Lightbeam
Niveau 10
07 juin 2016 à 07:05:02

Quelqu'un pour me donner un petit exemple d'une classe "Calculs" qui contiendrait, par exemple une fonction division et multiplication et son utilisation ? Je pense que ça m’éclairerait. Merci.

Lightbeam
Lightbeam
Niveau 10
07 juin 2016 à 10:45:24

Est-ce qu'un truc dans le genre peut fonctionner ? Et surtout comment l'appeler ensuite avec les deux arguments demandés ?


class Calculs:
	def __init__(self):
		self.a = a
		self.b = b
	def division(self,a,b):
		return a/b
	def addition(self,a,b):
		return a+b
LGV
LGV
Niveau 28
07 juin 2016 à 12:01:49

Ce serait p-e plus "visuel" avec une classe "Vector" a 2 ou 3 composantes, facilitant les operations sur une structures, et les calculs type norme euclidienne, etc.

Lightbeam
Lightbeam
Niveau 10
07 juin 2016 à 12:22:52

Certainement...
Bon, je verrais ça une autre fois alors. Merci.

89ron
89ron
Niveau 10
07 juin 2016 à 13:23:14

Historiquement parlant et sans rentrer dans des détails technique l’idée derrière les classes c'est juste de pouvoir créer des types complexes a partir des types de base.

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment