Page 1 sur 1

Objet static et variables récurrentes

Posté : 23 sept. 2008, 13:33
par katagoto
Bonjour à toutes et à tous,

Je crée actuellement, des objets entièrement statique, ne comportant que des méthodes statiques, mais j'aimerais bien améliorer ce problème, je suis obliger de faire cette manipulation :
o::fa($type, $variableinutile);
o::fb($type, $variableinutileleretour);
j'aimerais pouvoir me passer du $type les fois d'après, où le mettre qui si je veux le redéfinir, est-ce possible ? (sans l'instancier, ni variable globale...)

Par avance merci de votre aide

NB : j'utilise o::test($type) pour le vérifier à chaque fois...

Resultat :
<?php
class o {
static function a($v = "")
{
echo self::t($v)." - ";
}
static function t($v = "")
{
static $s;
if($v=="salut") $s = "salut";
if($v=="aurevoir") $s = "aurevoir";
return $s;
}
};
o::a("salut");
o::a();
o::a();
o::a("aurevoir");
o::a();
o::a();

Posté : 08 oct. 2008, 00:15
par Hywan
Hey :),

Je lis le sujet avec du retard, mais ce serait intéressant pour ceux qui vont tomber sur la question d'avoir la réponse …

De plus, tu ne fais pas la distinction entre objet et classe, et c'est mal. On parle de statisme pour une classe, sinon on parle de dynamisme pour un objet.
Une instance c'est une concrétisation au sens Mathématiques du terme. On passe d'un état abstrait à un état particulier, concret. Tout ce qui est statique appartient à la classe, donc a fortiori à tous les objets, toutes les instances de la classe. Tout ce qui est dynamique n'appartient sûrement pas à la classe, car c'est très concret, donc ça appartient à l'objet.

Enfin, je suis curieux de voir la solution que tu as utilisé …

Re: Objet static et variables récurrentes

Posté : 08 oct. 2008, 12:38
par katagoto
Hey :),

Je lis le sujet avec du retard, mais ce serait intéressant pour ceux qui vont tomber sur la question d'avoir la réponse …

De plus, tu ne fais pas la distinction entre objet et classe, et c'est mal. On parle de statisme pour une classe, sinon on parle de dynamisme pour un objet.
Une instance c'est une concrétisation au sens Mathématiques du terme. On passe d'un état abstrait à un état particulier, concret. Tout ce qui est statique appartient à la classe, donc a fortiori à tous les objets, toutes les instances de la classe. Tout ce qui est dynamique n'appartient sûrement pas à la classe, car c'est très concret, donc ça appartient à l'objet.
Oui, mon vocabulaire est mal approprié, mais bon, je me débrouille dans le code, ça compense ^^

Vous moquez pas, c'est vrai :lol:
Enfin, je suis curieux de voir la solution que tu as utilisé …
Resultat :
<?php
class o {
static function a($v = "")
{
echo self::t($v)." - ";
}
static function t($v = "")
{
static $s;
if($v=="salut") $s = "salut";
if($v=="aurevoir") $s = "aurevoir";
return $s;
}
};
o::a("salut");
o::a();
o::a();
o::a("aurevoir");
o::a();
o::a();
A noté que j'ai fait ce système car je suis un fénéant et que j'ai une classe "polymorphique", je crois que c'est comme ça que ça s'appelle, en gros juste le nom des tables SQL changent, je sais parfaitement instancié

PS : j'ai fait ce code vite-fait, histoire de voir si ça marche... Je vous rassure ça marche 8-)

Re: Objet static et variables récurrentes

Posté : 08 oct. 2008, 14:01
par Hywan
Oui, mon vocabulaire est mal approprié, mais bon, je me débrouille dans le code, ça compense ^^

Vous moquez pas, c'est vrai :lol:
On n'oserait jamais …
Oui, ton vocabulaire est mal utilisé (pas mal approprié). Mais si tu n'arrives pas à t'exprimer comme il faut, c'est que les notions ne sont pas claires. N'oublies pas : « Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire viennent aisément ».
A noté que j'ai fait ce système car je suis un fénéant et que j'ai une classe "polymorphique", je crois que c'est comme ça que ça s'appelle, en gros juste le nom des tables SQL changent, je sais parfaitement instancié
Sur la fin, est-ce que c'est vraiment ce que tu veux dire ?
Sinon, je serais encore curieux (oui, je suis un grand curieux) de voir la définition la définition que tu donnes au polymorphisme, car ça ne s'applique pas dans ton cas.
Je vous rassure ça marche 8-)
Entre fonctionner et optimiser, il y a un monde. C'est ce même monde qui fait que tu es un bidouilleur ou un programmeur.

Re: Objet static et variables récurrentes

Posté : 08 oct. 2008, 14:19
par katagoto
On n'oserait jamais …
Oui, ton vocabulaire est mal utilisé (pas mal approprié). Mais si tu n'arrives pas à t'exprimer comme il faut, c'est que les notions ne sont pas claires. N'oublies pas : « Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire viennent aisément ».
C'est officiel, Nicolas Boileau m'énerve...
Sinon, je serais encore curieux (oui, je suis un grand curieux) de voir la définition la définition que tu donnes au polymorphisme, car ça ne s'applique pas dans ton cas.
Selon wikipédia : est l'idée d'autoriser le même code à être utilisé avec différents types, ce qui permet des implémentations plus abstraites et générales.
Moi j'aurais dit : une fonction/classe polymorphe est une fonction/classe qui est conçut pour traiter des "entités", ou données, je ne trouve pas le mot, "différentes"
Entre fonctionner et optimiser, il y a un monde. C'est ce même monde qui fait que tu es un bidouilleur ou un programmeur.
Bah, moi tout ce que je sais c'est que j'ai un groupe de fonction qui peuvent être appelé une ou plusieurs fois, avec le même type ou non, je dois tester le type à chaque fois, si je peux l'omettre, et le redéfinir sans avoir à instancier la classe, c'est un plus...

Posté : 08 oct. 2008, 15:06
par Hywan
Ce n'est pas tout à fait ça. L'idée du polymorphisme (selon une conception objet) est qu'un objet peut prendre plusieurs formes : sa forme à lui, celle de ses parents, des interfaces etc. Donc ce n'est pas exactement ce que tu donnes comme définition.

On peut utiliser le terme de dynamisme en revanche, je pense que ce serait plus juste :).

Ne pense pas que ça m'amuse de revenir sur ces points, mais j'ai l'impression que tu ne comprends pas bien ces notions. D'ailleurs, n'hésites pas à poser des questions :).

Posté : 08 oct. 2008, 15:16
par katagoto
Ne pense pas que ça m'amuse de revenir sur ces points, mais j'ai l'impression que tu ne comprends pas bien ces notions. D'ailleurs, n'hésites pas à poser des questions :).
Oui maitre, je suis ton padawan...

Revennons au sujet :lol:

T'inquiet pas tu en veux des questions je vais en avoir :lol: