Surcharge(Overloading) en Python

Une signature d’une fonction est le nom et les arguments avec leur type (mais pas le type de la valeur retournée).

Pour Python, puisque le typage est dynamique, une signature d’une fonction est le nom de la fonction et le nombre d’arguments.

Deux méthodes ont la même signature est interdit.

Le surcharge(Overloading)  est de définir plusieurs méthodes de signatures différentes pour un même nom. C’est-à-dire définir, dans la même classe, plusieurs fonctions de même nom mais de différent nombre d’arguments.

En python pas de surcharge,   C’est-à-dire on ne peut pas définir, dans la même classe, plusieurs fonctions de même nom mais de différent nombre d’arguments. Si vous avez les défini, seules la dernière fonction définie sera prise en compte.

La solution donc est d’utiliser les paramètres avec valeur par défaut.

Petit exercice:

Définir une classe Point avec un constructeur, un point est définit soit par deux coordonnées x et y, s’il s’agit d’une représentation d’un point au plan ou par trois coordonnées x, y et z, s’il s’agit d’une représentation d’un point en espace.

La classe Point doit contenir une méthode ToString qui affiche le point.

Exemple d’exécution:

>>>P1=Point(2,3)
>>>P1.ToString()
P(2.00 , 3.00)
>>>P2=Point(1,-5,6)
>>>P2.ToString()
P(1.00 , -5.00 , 6.00)

Partager avec...
Share on FacebookShare on Google+Tweet about this on Twitter
Tagués avec : , , , , , ,

Poster un Commentaire

Soyez le premier à commenter !

Utiliser [python] ... [/python] pour insérer un code Python.

$latex format_latex $ pour insérer au format latex.

Exemple:

[python]
print('Hello word')
[/python]

$latex \sqrt{x} $

Laisser un commentaire


Programme similaire