Question
méthodes et propriétés
- P Beranger
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 1 mois #6028
par P Beranger
méthodes et propriétés a été créé par P Beranger
Bonjour,
Une question certainement simple pour les pros...j'ai lu pas mal de documents sur les objets, méthodes et propriétés, et je pensais avoir compris, mais, par exemple:
J'ai un utilisateur AD (prénom:test,nom:test, ville: Paris). Je récupère la propriété City de cet utilisateur:
$ad_users=Get-User |where-object {$_.lastname -eq \"test\"}
$ad_users.City
Paris
...je récupère bien Paris, pas de pb, car City est un membre propriété de l'objet $ad_users
mais si à la place de $ad_users.City je mets $ad_users.get_City() je récupère également Paris, alors que get_City() est un membre méthode de mon objet !!!!!
Ou est la différence entre .City et .get_City() ???
J'avoue y perdre mon .....powershell
Merci par avance
Phil
Une question certainement simple pour les pros...j'ai lu pas mal de documents sur les objets, méthodes et propriétés, et je pensais avoir compris, mais, par exemple:
J'ai un utilisateur AD (prénom:test,nom:test, ville: Paris). Je récupère la propriété City de cet utilisateur:
$ad_users=Get-User |where-object {$_.lastname -eq \"test\"}
$ad_users.City
Paris
...je récupère bien Paris, pas de pb, car City est un membre propriété de l'objet $ad_users
mais si à la place de $ad_users.City je mets $ad_users.get_City() je récupère également Paris, alors que get_City() est un membre méthode de mon objet !!!!!
Ou est la différence entre .City et .get_City() ???
J'avoue y perdre mon .....powershell
Merci par avance
Phil
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 1 mois #6029
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:méthodes et propriétés
Salut,
wayat91 écrit:
wayat91 écrit:
Avec un membre de type, i.e. de la classe, string l'accés est \"direct\".
Avec une propriété on précise des accesseurs Get et Set qui sont des méthodes. Ils permettent de déclarer un champ avec, si je puis dire, un accès \"indirect\".
Par exemple, on peut ainsi placer des contrôles lors d'une affectation. Ce qu'il n'est pas possible de faire avec un membre à accés direct.
Ou encore déclarer une propriété en lecture seule, dans ce cas on déclare l'accesseur Get, mais l'accesseur Set.
L'information associée à une propriété peut être le résultat d'un traitement ou être un membre d'un autre objet d'accés privé. C'est une notion de conception utilisée en Programmation Orienté Objet.
Sous PowerShell une propriété peut aussi être vue comme un raccourci d'écriture, mais ce n'est pas sa raison d'être.
wayat91 écrit:
Pour finir le cmdlet Add-Member permet de créer une propriété sur un objet personnalisé :
[code:1]
$Datas = 1|Select Nom
$Fullpath=\"C:\Temp\"
$Datas=$Datas|add-member Scriptproperty DataFile -value {\"$Fullpath\"} -SecondValue {Throw \"DataFile is a read only property.\"} -pass
$Datas.DataFile
#C:\Temp
$Datas.DataFile=\"C:\Affectation Impossible\"
$Datas.PsObject.Members|Where {$_.Name -eq \"DataFile\"}
#GetterScript : \"$Fullpath\"
#SetterScript : Throw \"DataFile is a read only property.\"
#...
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 26/01/10 15:12
wayat91 écrit:
C'est une question de terminologie, un objet contient des membres, mais chacun de ces membres sont \"catégorisés\"....je récupère bien Paris, pas de pb, car City est un membre propriété de l'objet $ad_users
wayat91 écrit:
Une propriété est une des catégories citée précédemment.alors que get_City() est un membre méthode de mon objet
Avec un membre de type, i.e. de la classe, string l'accés est \"direct\".
Avec une propriété on précise des accesseurs Get et Set qui sont des méthodes. Ils permettent de déclarer un champ avec, si je puis dire, un accès \"indirect\".
Par exemple, on peut ainsi placer des contrôles lors d'une affectation. Ce qu'il n'est pas possible de faire avec un membre à accés direct.
Ou encore déclarer une propriété en lecture seule, dans ce cas on déclare l'accesseur Get, mais l'accesseur Set.
L'information associée à une propriété peut être le résultat d'un traitement ou être un membre d'un autre objet d'accés privé. C'est une notion de conception utilisée en Programmation Orienté Objet.
Sous PowerShell une propriété peut aussi être vue comme un raccourci d'écriture, mais ce n'est pas sa raison d'être.
wayat91 écrit:
Effectivement Get-Member renvoi les accesseurs, mais il fait ce qu'on lui demande, il renvoi la propriété et ces accesseurs. Mais là c'est du domaine de la POO sous dotNetJ'avoue y perdre mon .....powershell
Pour finir le cmdlet Add-Member permet de créer une propriété sur un objet personnalisé :
[code:1]
$Datas = 1|Select Nom
$Fullpath=\"C:\Temp\"
$Datas=$Datas|add-member Scriptproperty DataFile -value {\"$Fullpath\"} -SecondValue {Throw \"DataFile is a read only property.\"} -pass
$Datas.DataFile
#C:\Temp
$Datas.DataFile=\"C:\Affectation Impossible\"
$Datas.PsObject.Members|Where {$_.Name -eq \"DataFile\"}
#GetterScript : \"$Fullpath\"
#SetterScript : Throw \"DataFile is a read only property.\"
#...
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 26/01/10 15:12
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- P Beranger
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
il y a 16 ans 1 mois #6031
par P Beranger
Réponse de P Beranger sur le sujet Re:méthodes et propriétés
Bonjour,
et merci pour ces explications. c'est un peu plus clair. Avant de poster, j'étais en train de relire
\"LaNotionDobjetSousPowerShell.pdf\" d'un certain.... Laurent Dardenne, je ne pouvais tomber mieux!!
Merci
Phil
et merci pour ces explications. c'est un peu plus clair. Avant de poster, j'étais en train de relire
\"LaNotionDobjetSousPowerShell.pdf\" d'un certain.... Laurent Dardenne, je ne pouvais tomber mieux!!
Merci
Phil
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 16 ans 1 mois #6032
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:méthodes et propriétés
wayat91 écrit:

Je tâcherais d'y ajouter une section sur ce point.
Si tu juges qu'il y a d'autres points qui manquent dans ce document, n'hésites pas à me le signaler dans ce post.
Bonne lecture
Avant de poster, j'étais en train de relire
\"LaNotionDobjetSousPowerShell.pdf\"
Je tâcherais d'y ajouter une section sur ce point.
Si tu juges qu'il y a d'autres points qui manquent dans ce document, n'hésites pas à me le signaler dans ce post.
Bonne lecture
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- méthodes et propriétés