پاورشل برای برنامه‌نویسان

پاورشل برای برنامه‌نویسان

@programming_tips

درسنامه: Properties و Methods


۱. ویژگی‌های اشیا | Properties

ویژگی یا Property، مشخصه‌ای از یک شی است که اطلاعات آن را نگه می‌دارد. هر شی می‌تواند مجموعه‌ای از Property داشته باشد.

مثال با Process

$proc = Get-Process | Select-Object -First 1
$proc.ProcessName   # نام فرآیند
$proc.Id            # شناسه‌ی فرآیند
$proc.CPU           # میزان استفاده از CPU

اینجا $proc یک شی از نوع Process است.

  • $proc.ProcessName نام فرآیند را برمی‌گرداند
  • $proc.Id شناسه منحصر به فرد فرآیند را برمی‌گرداند
  • $proc.CPU میزان مصرف CPU را نشان می‌دهد

Propertyها معمولاً داده‌ای هستند که فقط می‌توان خواند و بعضاً تغییر داد.

دسترسی و تغییر Property

برخی Propertyها قابل تغییر هستند، مثل وقتی که یک شی خود ساخته‌ایم:

$person = New-Object PSObject -Property @{
    Name = "Ali"
    Age = 27
}
$person.Age = 28   # تغییر مقدار Property
Write-Output $person.Age

۲. متدهای اشیا | Methods

متد یا Method عملیاتی است که می‌توان روی یک شی انجام داد. بر خلاف Property که داده را نگه می‌دارد، Method کاری روی شی انجام می‌دهد و ممکن است خروجی هم داشته باشد.

مثال با String

$text = "hello world"
$text.ToUpper()    # خروجی: HELLO WORLD
$text.Length       # Property: طول رشته

اینجا ToUpper() یک Method است که رشته را به حروف بزرگ تبدیل می‌کند، در حالی که Length Property است که فقط طول رشته را برمی‌گرداند.

مثال با DateTime

$today = Get-Date
$today.DayOfWeek      # Property: روز هفته
$today.AddDays(5)     # Method: ۵ روز به تاریخ اضافه می‌کند

۳. دیدن Property و Method یک شی

برای اینکه بفهمیم یک شی چه Property و Methodهایی دارد، از دستور Get-Member استفاده می‌کنیم:

Get-Process | Select-Object -First 1 | Get-Member

این دستور لیستی از Propertyها و Methodهای شی Process را نمایش می‌دهد.

  • Propertyها معمولاً اطلاعات را نگه می‌دارند
  • Methodها عملکردی روی آن داده انجام می‌دهند

۴. اضافه کردن Property و Method دلخواه

می‌توان به اشیاء خود Property یا Method اضافه کرد تا آنها را شخصی‌سازی کنیم:

$person = New-Object PSObject -Property @{
    Name = "Ali"
}

# اضافه کردن Property جدید
$person | Add-Member -MemberType NoteProperty -Name "Age" -Value 27

# اضافه کردن Method جدید
$person | Add-Member -MemberType ScriptMethod -Name "Greet" -Value { "Hello, $($this.Name)!" }

Write-Output $person.Age
Write-Output $person.Greet()

اینجا با Add-Member هم یک Property اضافه کردیم و هم یک Method دلخواه که سلام می‌دهد.


۵. نکات مهم

  1. پس Property همیشه اطلاعات یا وضعیت شی را نگه می‌دارد.
  2. Method عملیاتی است که روی شی انجام می‌شود و ممکن است داده‌ای برگرداند.
  3. برای مشاهده همه‌ی Property و Methodها، Get-Member ابزار اصلی است.
  4. می‌توان Property و Method جدید به اشیاء اضافه کرد و شی‌ها را به دلخواه شخصی‌سازی کرد.
  5. ترکیب Property و Methodها، PowerShell را بسیار قدرتمند می‌کند و باعث می‌شود دستورات پیچیده بدون پردازش متن ساده و واضح باشند.

تمرین پیشنهادی:

  1. یک رشته بساز و طول آن و تعداد حروف بزرگش را با Property و Method بررسی کن.
  2. یک شی جدید بساز و به آن Property و Method دلخواه اضافه کن، سپس آن‌ها را اجرا و نمایش بده.
  3. خروجی دستور Get-Service را بگیر و با Get-Member بررسی کن ببین چه Property و Methodهایی دارد.

Report Page