خرید بک لینک
برنامه نویسی php
چه زمانی باید از $this و چه زمانی از self استفاده کنیم؟
  1. $this به شی جاری اشاره می کند . refer to object
  2. self به کلاس جاری اشاره می کند.refer to class
  3. $this->member به غیر استاتیک متد و پروپرتی اشاره می کند
  4. self::member به استاتیک متد و پروپرتی اشاره می کند

مثال های زیر برای درک بهتر این موضوع قرار داده می شود

class X {
private $non_static_member = 1;
private static $static_member = 2;
function __construct() {
echo $this->non_static_member . ' '
. self::$static_member;
}
}
new X();

polymorphism با استفاده از $this

class X {
function foo() {
echo 'X::foo()';
}
function bar() {
$this->foo();
}
}
class Y extends X {
function foo() {
echo 'Y::foo()';
}
}
$x = new Y();
$x->bar();

suppressing polymorphic behaviour با استفاده از self

class X {
function foo() {
echo 'X::foo()';
}
function bar() {
self::foo();
}
}
class Y extends X {
function foo() {
echo 'Y::foo()';
}
}
$x = new Y();
$x->bar();

+ نوشته شده در چهارشنبه بیست و پنجم مرداد ۱۳۹۶ساعت 20:27 توسط امیر |

برچسب: تفاوت,برنامه,نویسی,گرا, نویسنده: پندار توکلی تاريخ: شنبه 28 مرداد 1396 ساعت: 0:12

صفحه بندی