PDA

View Full Version : فرق کلاس با تابع



minitso
دوشنبه 30 مهر 1386, 16:06 عصر
سلام
من تازه تو php کلاس رو یاد گرفتم
میخواستم بدونم کلاس نسبت به تابع چه مزایایی داره

چون من الان برنامه ای که با کلاس نوشتم رو میتونم با تابع بنویسم
میخواستم بدونم چرا و کجا ها از کلاس استفاده میکنیم

sweb
دوشنبه 30 مهر 1386, 16:42 عصر
به دنیای PHP خوش اومدی !!!

خب توابع توی PHP فقط اعمال ورودی و خروجی رو انجام میدن و قابلیت شی گرایی رو ندارند!

مثل


$c = 2;
function mySum($a, $b)
{
global $c;
return $a + $b + $c;
}

echo mySum(1, 2); // output is : 5


در حالی در یک کلاس (PHP 5) شی گرایی کاملاً رویت می شه و تمامه آبجکت های این کلاس قابل پردازش بوده و پس از هرگونه عملیاتی (که خود توسط توابع کلاس صورت می گیره) خروجی های خود را که همان اشیای کلاس هستند بر می گردونه.

مثل


class mySum
{
public $sums;
public $a;
public $b;
public function doSum()
{
$this->sums = $this->a + $this->b;
}
}

$myNewSum = new mySum();
$myNewSum->a = 4; // شی a مقدار 4 زا دریافت می کند.
$myNewSum->b = 5; // شی b مقدار 5 زا دریافت می کند.
$myNewSum->doSum(); // عملیات جمع در این مرحله صورت می گیرد
echo $myNewSum->sums; // output is : 9


موفق باشی :)

minitso
سه شنبه 01 آبان 1386, 17:52 عصر
دسستون درد نکنه
تفاوت بسیار جالی بود که من اصلا به ذهنم نرسیده بود
ولی فقط همین تفاوت رو داره
یعنی کارای جالبتری هم میشه باهاش انجام داد؟؟؟؟؟ که با تابع نشه؟؟؟

sweb
سه شنبه 01 آبان 1386, 18:08 عصر
دسستون درد نکنه
تفاوت بسیار جالی بود که من اصلا به ذهنم نرسیده بود

:متفکر:


یعنی کارای جالبتری هم میشه باهاش انجام داد؟؟؟؟؟ که با تابع نشه؟؟؟

کلاس در حقیقت مجموعه ای از اشیاء (Value ها) و توابع هستش که برای سهولت در برنامه نویسی و بالابردن سرعت پردازش ازش استفاده می کنن. میشه برنامه ای نوشت که بدون هیچ کلاسی باشه و کلی کار انجام بده ولی هم باید کلی خط اضافه تر بنویسی و هم اینکه روند کنترل و اجرای برنامه پیچیده می شه و برنامه نویسانی که با برنامه کار خواهند کرد توانایی برای ارقای اون پیدا نمی کنند.

کلاً برنامه نویسی شی گرا بستری مناسب برای گسترش برنامه خواهد بود این امتیاز بزرگیه!

نمی دونم دیگه دنبال چی می گردی !!!