j'ai une petite question concernant la construction d'objets.
Il semblerait que pour créer un objet r_point de la classe Point:
$r_point=Point->new()
passe bien le nom de la classe comme premier paramètre au constructeur
alors que:
$r_point=Point::new() ne le fasse pas.
Est-ce normal ? je pensais que ces deux notations étaient équivalentes.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alex Marandon
In article <bhl0g8$16o$, Dorian wrote:
Bonjour,
j'ai une petite question concernant la construction d'objets. Il semblerait que pour créer un objet r_point de la classe Point: $r_point=Point->new() passe bien le nom de la classe comme premier paramètre au constructeur alors que: $r_point=Point::new() ne le fasse pas. Est-ce normal ?
Oui.
je pensais que ces deux notations étaient équivalentes.
Tu t'es rendu compte par toi même que non. "::" sert pour indiquer l'espace de nommage d'un symbole (fonction, scalaire, etc.) ou sert à représenter un séparateur de répertoire de manière portable lors d'un use. "->" sert à appeler des méthodes de classe ou d'objet ou bien à accéder à des enregistrements d'array ou de hash via une référence.
Les perldoc expliquent tout ça.
In article <bhl0g8$16o$1@news-reader4.wanadoo.fr>, Dorian wrote:
Bonjour,
j'ai une petite question concernant la construction d'objets.
Il semblerait que pour créer un objet r_point de la classe Point:
$r_point=Point->new()
passe bien le nom de la classe comme premier paramètre au constructeur
alors que:
$r_point=Point::new() ne le fasse pas.
Est-ce normal ?
Oui.
je pensais que ces deux notations étaient équivalentes.
Tu t'es rendu compte par toi même que non. "::" sert pour indiquer
l'espace de nommage d'un symbole (fonction, scalaire, etc.) ou sert à
représenter un séparateur de répertoire de manière portable lors d'un
use. "->" sert à appeler des méthodes de classe ou d'objet ou bien à
accéder à des enregistrements d'array ou de hash via une référence.
j'ai une petite question concernant la construction d'objets. Il semblerait que pour créer un objet r_point de la classe Point: $r_point=Point->new() passe bien le nom de la classe comme premier paramètre au constructeur alors que: $r_point=Point::new() ne le fasse pas. Est-ce normal ?
Oui.
je pensais que ces deux notations étaient équivalentes.
Tu t'es rendu compte par toi même que non. "::" sert pour indiquer l'espace de nommage d'un symbole (fonction, scalaire, etc.) ou sert à représenter un séparateur de répertoire de manière portable lors d'un use. "->" sert à appeler des méthodes de classe ou d'objet ou bien à accéder à des enregistrements d'array ou de hash via une référence.
Les perldoc expliquent tout ça.
Dorian
In article <bhl0g8$16o$, Dorian wrote:
Bonjour,
j'ai une petite question concernant la construction d'objets. Il semblerait que pour créer un objet r_point de la classe Point: $r_point=Point->new() passe bien le nom de la classe comme premier paramètre au constructeur alors que: $r_point=Point::new() ne le fasse pas. Est-ce normal ?
Oui.
je pensais que ces deux notations étaient équivalentes.
Tu t'es rendu compte par toi même que non. "::" sert pour indiquer l'espace de nommage d'un symbole (fonction, scalaire, etc.) ou sert à représenter un séparateur de répertoire de manière portable lors d'un use. "->" sert à appeler des méthodes de classe ou d'objet ou bien à accéder à des enregistrements d'array ou de hash via une référence.
Les perldoc expliquent tout ça.
Donc $r_point=Point->new() appelle la méthode new() de la classe Point et affecte à $r_point la référence du nouvel objet alors que $r_point=Point::new() appelle la fonction new du package Point et affecte à $r_point la référence de la nouvelle table de hashage ? L'une est pour la POO et l'autre non ?
In article <bhl0g8$16o$1@news-reader4.wanadoo.fr>, Dorian wrote:
Bonjour,
j'ai une petite question concernant la construction d'objets.
Il semblerait que pour créer un objet r_point de la classe Point:
$r_point=Point->new()
passe bien le nom de la classe comme premier paramètre au constructeur
alors que:
$r_point=Point::new() ne le fasse pas.
Est-ce normal ?
Oui.
je pensais que ces deux notations étaient équivalentes.
Tu t'es rendu compte par toi même que non. "::" sert pour indiquer
l'espace de nommage d'un symbole (fonction, scalaire, etc.) ou sert à
représenter un séparateur de répertoire de manière portable lors d'un
use. "->" sert à appeler des méthodes de classe ou d'objet ou bien à
accéder à des enregistrements d'array ou de hash via une référence.
Les perldoc expliquent tout ça.
Donc $r_point=Point->new() appelle la méthode new() de la classe Point
et affecte à $r_point la référence du nouvel objet alors que
$r_point=Point::new() appelle la fonction new du package Point et
affecte à $r_point la référence de la nouvelle table de hashage ?
L'une est pour la POO et l'autre non ?
j'ai une petite question concernant la construction d'objets. Il semblerait que pour créer un objet r_point de la classe Point: $r_point=Point->new() passe bien le nom de la classe comme premier paramètre au constructeur alors que: $r_point=Point::new() ne le fasse pas. Est-ce normal ?
Oui.
je pensais que ces deux notations étaient équivalentes.
Tu t'es rendu compte par toi même que non. "::" sert pour indiquer l'espace de nommage d'un symbole (fonction, scalaire, etc.) ou sert à représenter un séparateur de répertoire de manière portable lors d'un use. "->" sert à appeler des méthodes de classe ou d'objet ou bien à accéder à des enregistrements d'array ou de hash via une référence.
Les perldoc expliquent tout ça.
Donc $r_point=Point->new() appelle la méthode new() de la classe Point et affecte à $r_point la référence du nouvel objet alors que $r_point=Point::new() appelle la fonction new du package Point et affecte à $r_point la référence de la nouvelle table de hashage ? L'une est pour la POO et l'autre non ?
Alex Marandon
In article <bia6c7$ff6$, Dorian wrote:
Donc $r_point=Point->new() appelle la méthode new() de la classe Point et affecte à $r_point la référence du nouvel objet alors que $r_point=Point::new() appelle la fonction new du package Point et affecte à $r_point la référence de la nouvelle table de hashage ?
La seule différence entre les deux, c'est que Point->new() passe implicitement en premier argument la chaine 'Point'. Cela permet d'utiliser la forme à deux arguments de bless(), laquelle doit être utilisée si on veut faire une classe héritable.
L'une est pour la POO et l'autre non ?
En l'occurence, si on ne veux pas faire d'héritage, les deux sont acceptables, mais autant prendre la bonne habitude et utiliser "->".
In article <bia6c7$ff6$1@news-reader3.wanadoo.fr>, Dorian wrote:
Donc $r_point=Point->new() appelle la méthode new() de la classe Point
et affecte à $r_point la référence du nouvel objet alors que
$r_point=Point::new() appelle la fonction new du package Point et
affecte à $r_point la référence de la nouvelle table de hashage ?
La seule différence entre les deux, c'est que Point->new() passe
implicitement en premier argument la chaine 'Point'. Cela permet
d'utiliser la forme à deux arguments de bless(), laquelle doit être
utilisée si on veut faire une classe héritable.
L'une est pour la POO et l'autre non ?
En l'occurence, si on ne veux pas faire d'héritage, les deux sont
acceptables, mais autant prendre la bonne habitude et utiliser "->".
Donc $r_point=Point->new() appelle la méthode new() de la classe Point et affecte à $r_point la référence du nouvel objet alors que $r_point=Point::new() appelle la fonction new du package Point et affecte à $r_point la référence de la nouvelle table de hashage ?
La seule différence entre les deux, c'est que Point->new() passe implicitement en premier argument la chaine 'Point'. Cela permet d'utiliser la forme à deux arguments de bless(), laquelle doit être utilisée si on veut faire une classe héritable.
L'une est pour la POO et l'autre non ?
En l'occurence, si on ne veux pas faire d'héritage, les deux sont acceptables, mais autant prendre la bonne habitude et utiliser "->".
Dorian
In article <bia6c7$ff6$, Dorian wrote:
Donc $r_point=Point->new() appelle la méthode new() de la classe Point et affecte à $r_point la référence du nouvel objet alors que $r_point=Point::new() appelle la fonction new du package Point et affecte à $r_point la référence de la nouvelle table de hashage ?
La seule différence entre les deux, c'est que Point->new() passe implicitement en premier argument la chaine 'Point'. Cela permet d'utiliser la forme à deux arguments de bless(), laquelle doit être utilisée si on veut faire une classe héritable.
L'une est pour la POO et l'autre non ?
En l'occurence, si on ne veux pas faire d'héritage, les deux sont acceptables, mais autant prendre la bonne habitude et utiliser "->".
Ok merci, c'est plus clair.
In article <bia6c7$ff6$1@news-reader3.wanadoo.fr>, Dorian wrote:
Donc $r_point=Point->new() appelle la méthode new() de la classe Point
et affecte à $r_point la référence du nouvel objet alors que
$r_point=Point::new() appelle la fonction new du package Point et
affecte à $r_point la référence de la nouvelle table de hashage ?
La seule différence entre les deux, c'est que Point->new() passe
implicitement en premier argument la chaine 'Point'. Cela permet
d'utiliser la forme à deux arguments de bless(), laquelle doit être
utilisée si on veut faire une classe héritable.
L'une est pour la POO et l'autre non ?
En l'occurence, si on ne veux pas faire d'héritage, les deux sont
acceptables, mais autant prendre la bonne habitude et utiliser "->".
Donc $r_point=Point->new() appelle la méthode new() de la classe Point et affecte à $r_point la référence du nouvel objet alors que $r_point=Point::new() appelle la fonction new du package Point et affecte à $r_point la référence de la nouvelle table de hashage ?
La seule différence entre les deux, c'est que Point->new() passe implicitement en premier argument la chaine 'Point'. Cela permet d'utiliser la forme à deux arguments de bless(), laquelle doit être utilisée si on veut faire une classe héritable.
L'une est pour la POO et l'autre non ?
En l'occurence, si on ne veux pas faire d'héritage, les deux sont acceptables, mais autant prendre la bonne habitude et utiliser "->".