国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

Windows Powershell對象=屬性+方法

2020-10-29 21:02:34
字體:
來源:轉載
供稿:網友

在現實世界中,你可能已經了解對象就是那些能夠摸到的東西。Powershell中的對象和現實生活很相似。例如要在現實生活中描述一把小刀。我們可能會分兩方面描述它
屬性:一把小刀擁有一些特殊的屬性,比如它的顏色、制造商、大小、刀片數。這個對象是紅色的,重55克,有3個刀片,ABC公司生產的。因此屬性描述了一個對象是什么。
方法:可以使用這個對象做什么,比如切東西、當螺絲釘用、開啤酒蓋。一個對象能干什么就屬于這個對象的方法。

創建對象

通過New-Object可以創建一個對象,甚至可以創建一個虛擬的小刀,但是第一步需要創建一個空對象。空對象什么都沒有,如果調用它,不會返回任何東西。

復制代碼 代碼如下:

PS C:Powershell> $pocketknife=New-Object object
PS C:Powershell> $pocketknife
System.Object

增加屬性

接下來描述這個對象是什么

復制代碼 代碼如下:

PS C:Powershell> Add-Member -InputObject $pocketknife -Name Color -Value "Red"
-MemberType NoteProperty
PS C:Powershell> $pocketknife

Color
-----
Red

PS C:Powershell> Add-Member -InputObject $pocketknife -Name Weight -Value "55"
-MemberType NoteProperty
PS C:Powershell> $pocketknife | Add-Member NoteProperty Blades 3
PS C:Powershell> $pocketknife | Add-Member NoteProperty Manufacturer ABC
PS C:Powershell> $pocketknife

Color Weight Blades Manufacturer
----- ------ ------ ------------
Red   55          3 ABC


增加方法

給一個對象增加了屬性后,這個對象就有形狀了,但是它仍然不能做任何事,要想它做事,必須給它增加方法。同樣使用Add-Member,不過-memberType 選項使用ScriptMethod。

復制代碼 代碼如下:

# 增加一個新方法:
Add-Member -memberType ScriptMethod -In $pocketknife `
-name cut -Value { "I'm whittling now" }
# 指定參數類型增加一個新方法:
Add-Member -in $pocketknife ScriptMethod screw { "Phew...it's in!" }
#直接通過管道增加一個新方法:
$pocketknife | Add-Member ScriptMethod corkscrew { "Pop! Cheers!" }

方法添加成功后就可以調用了
復制代碼 代碼如下:

PS C:Powershell> $pocketknife.cut()
I'm whittling now
PS C:Powershell> $pocketknife.screw()
Phew...it's in!
PS C:Powershell> $pocketknife.corkscrew()
Pop! Cheers!

在調用方法時如果沒有使用圓括號,方法不會執行,但是可以返回方法的基本信息。

復制代碼 代碼如下:

PS C:Powershell> $pocketknife.corkscrew

Script                      :  "Pop! Cheers!"
OverloadDefinitions : {System.Object corkscrew();}
MemberType           : ScriptMethod
TypeNameOfValue  : System.Object
Value                      : System.Object corkscrew();
Name                     : corkscrew
IsInstance               : True


到目前為止一個虛擬的小刀對象就創建完成了,一個對象包含數據(屬性)和動作(方法)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阜南县| 双鸭山市| 庆阳市| 兰州市| 抚宁县| 改则县| 柘荣县| 淮安市| 台东县| 微山县| 会同县| 额济纳旗| 水富县| 句容市| 佳木斯市| 温州市| 新闻| 维西| 玛曲县| 潜江市| 儋州市| 易门县| 廊坊市| 环江| 商水县| 安宁市| 湾仔区| 江门市| 德江县| 绩溪县| 铁岭县| 闽侯县| 江阴市| 凤城市| 延边| 宜良县| 富平县| 射阳县| 喀喇沁旗| 武乡县| 门头沟区|