متدهای کلاس در PHP
تعریف Methodها
Methodها در واقع توابعی هستند که داخل کلاس وجود دارند و با علامت "<-" صدا زده می شوند، مهمتر اینکه متدها به اعضای متغیرهای یک کلاس دسترسی دارند.
مثال1: در مثال زیر یک تابع ساده برای چاپ یک عبارت تعریف شده است:
<?php
class My_class
{
private $name="Amir";
function SayHello()
{
print "Hello My Name is $this->name";
}
}
$obj=new My_Class();
$obj->SayHello();
?>
خروجی کد بالا:
Hello My Name is Amir
توجه: درون خود تابع برای دسترسی به تمامی متغیر ها و توابع دیگر با <-this$ و سپس نام تابع یا متغیر می توانیم عمل کنیم.
مثال2: در مثال زیر ابتدا اسممان، امیر است و بعد از صدا زدن تابع ()SetName به رضا تغییر می یابد:
<?php
class My_class
{
private $name="Amir";
function SetName($Param)
{
$this->name=$Param;
}
function SayHello()
{
print "Hello My Name is $this->name";
}
}
$obj=new My_Class();
$obj->SetName("Reza");
$obj->SayHello();
?>
خروجی کد بالا:
Hello My Name is Reza
در مثال بالا یک تابع به نام ()SetName تعریف کردیم که یک پارامتر دارد و می توانیم اسم را در همه جا تغییر بدهیم.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 19560
دیدگاهها
سلام.
در مثال یک مگه متغیر $name بصورت private تعریف نشده؟ چه طوری بیرون از کلاس بهش دسترسی داریم؟ میشه توضیح بدید !
سلام
بله حق با شماست متغیر name بصورت private تعریف شده و فقط داخل همان کلاس یعنی My_class می شه بهش دسترسی داشت. اما اگر دقت کنید خارج از قائده عمل نشده است.
در واقع متغیر مذکور در بدنه کلاس مقدار دهی شده و داخل تابع SayHello از آن استفاده شده است.
سلام خروجی کد مثال 2 بصورت زیر می شود:
Hello My Name is Reza
ممنون، اصلاح شد.