php
جلسه ۵۳: کلاس ها و ارث بری قسمت ۴ در php

<?php
class Shape
{
public $sides = 0;
public $name = " ";
public function __construct($name, $sides)
{ //defining a constructor
$this->sides = $sides; //initializing $this->sides to $sides
$this->name = $name; //initializing $this->name to $name
}
public function description()
{ //method to display name and sides of a shape
echo "A $this->name with $this->sides sides.";
}
}
$myShape = new Shape("hexagon", 6); //making an object and passing values to the constructor
$myShape->description(); // A shape with 6 sides
?>
فراخوانی سازنده
همانطور که در خط دوازدهم کد بالا می بینید، نحوه فراخوانی سازنده مانند دیگر اعضای معمولی تابع نیست.- در بخش اعلام شی فراخوانی می شود.
- یک شی از
shape
ایجاد می کند. - سپس برای مقداردهی اولیه سازنده را فراخوانی می کند.
مقدمه ای بر تخریب کنندگان
تخریب کنندگان دقیقا معکوس سازندگان هستند، چرا که آخرین رفتار شی را تعریف می کنند و زمانی که دیگر از شی استفاده نمی شود اجرا می شوند.تخریب کننده یک شی که هیچ پارامتری نیز دریافت نمی کند، زمانی فراخوانی می شود که دیگر هیچ ارجاعی به شی داده نمی شود اما قضیهgarbage collection
باعث می شود که نتوانیم زمان دقیق اجرای تخریب کنندگان را مشخص کنیم.توجه: تخریب کنندگان فراخوانی نمی شوند بلکه به طور خودکار اجرا می شوند.<?php
class Shape
{
public $sides = 0;
public $name = " ";
public function __construct($name, $sides)
{ //defining a constructor
$this->sides = $sides; //initializing $this->sides to $sides
$this->name = $name; //initializing $this->name to $name
}
public function __destruct()
{ //destructor for Shape gets called at the end
echo "Destructor Called!\n";
}
public function description()
{ //method to display name and sides of a shape
echo "A $this->name with $this->sides sides.\n";
}
}
$myShape = new Shape("hexagon", 6); //making an object and passing values to the constructor
$myShape->description(); // A shape with 6 sides
?>
به پایان بحث در مورد سازندگان و تخریب کنندگان رسیده ایم. در بخش بعدی در مورد انواع اصلاح کنندگان دسترسی که هنگام اعلام متغیرهای عضو در کلاس ها استفاده می شود بحث خواهیم کرد.<?php
class Shape {
public $sides = 0;
public $name = " ";
//initializes $name to $Name and $sides to $Sides
public function __construct($Name, $Sides)
?>
تعریف سازنده
سازنده ای برایshape
می تواند به صورت زیر نوشته شود:<?php
class Shape
{
public $sides = 0;
public $name = " ";
public function __construct($name, $sides)
{ //defining a constructor
$this->sides = $sides; //initializing $this->sides to $sides
$this->name = $name; //initializing $this->name to $name
}
public function description()
{ //method to display name and sides of a shape
echo "A $this->name with $this->sides sides.";
}
}
$myShape = new Shape("hexagon", 6); //making an object and passing values to the constructor
$myShape->description(); // A shape with 6 sides
?>
فراخوانی سازنده
همانطور که در خط دوازدهم کد بالا می بینید، نحوه فراخوانی سازنده مانند دیگر اعضای معمولی تابع نیست.- در بخش اعلام شی فراخوانی می شود.
- یک شی از
shape
ایجاد می کند. - سپس برای مقداردهی اولیه سازنده را فراخوانی می کند.
مقدمه ای بر تخریب کنندگان
تخریب کنندگان دقیقا معکوس سازندگان هستند، چرا که آخرین رفتار شی را تعریف می کنند و زمانی که دیگر از شی استفاده نمی شود اجرا می شوند.تخریب کننده یک شی که هیچ پارامتری نیز دریافت نمی کند، زمانی فراخوانی می شود که دیگر هیچ ارجاعی به شی داده نمی شود اما قضیهgarbage collection
باعث می شود که نتوانیم زمان دقیق اجرای تخریب کنندگان را مشخص کنیم.توجه: تخریب کنندگان فراخوانی نمی شوند بلکه به طور خودکار اجرا می شوند.<?php
class Shape
{
public $sides = 0;
public $name = " ";
public function __construct($name, $sides)
{ //defining a constructor
$this->sides = $sides; //initializing $this->sides to $sides
$this->name = $name; //initializing $this->name to $name
}
public function __destruct()
{ //destructor for Shape gets called at the end
echo "Destructor Called!\n";
}
public function description()
{ //method to display name and sides of a shape
echo "A $this->name with $this->sides sides.\n";
}
}
$myShape = new Shape("hexagon", 6); //making an object and passing values to the constructor
$myShape->description(); // A shape with 6 sides
?>
به پایان بحث در مورد سازندگان و تخریب کنندگان رسیده ایم. در بخش بعدی در مورد انواع اصلاح کنندگان دسترسی که هنگام اعلام متغیرهای عضو در کلاس ها استفاده می شود بحث خواهیم کرد.constructor
ها و destructor
ها
در این بخش می خواهیم درمورد سازندگان، تخریب کنندگان و نحوه تعریف و فراخوانی آنها صحبت کنیم.سرفصل مباحث این جلسه به شرح زیر می باشد:- معرفی
- اعلام سازنده (constructor)
- تعریف سازنده (constructor)
- فراخوانی سازنده (constructor)
- مقدمه ای بر تخریب کنندگان (destructor)
معرفی
زمانی که یک شی را اعلام می کنیم، از یک سازنده (constructor) برای مقداردهی اولیه متغیرهای عضو آن استفاده می شود. زمانی که شی از یک کلاس ساخته می شود، سازنده به طور خودکار فراخوانی می شود.توجه: سازنده معمولا عضوی از تابع است که به طور معمول به صورتpublic
تعریف می شود.همچنین درنظر داشته باشید که برخلاف متد های تعریف شده داخل کلاس، سازنده نمی تواند مقداری را برگرداند.اعلام سازنده
کلاس ها را می توان با استفاده از متد خاص ()construct
__ تعریف کرد که به عنوان بخشی از ایحاد شی اجرا شود.بیایید تا نگاهی به نحوه تعریف آن بیاندازیم:<?php
class Shape {
public $sides = 0;
public $name = " ";
//initializes $name to $Name and $sides to $Sides
public function __construct($Name, $Sides)
?>
تعریف سازنده
سازنده ای برایshape
می تواند به صورت زیر نوشته شود:<?php
class Shape
{
public $sides = 0;
public $name = " ";
public function __construct($name, $sides)
{ //defining a constructor
$this->sides = $sides; //initializing $this->sides to $sides
$this->name = $name; //initializing $this->name to $name
}
public function description()
{ //method to display name and sides of a shape
echo "A $this->name with $this->sides sides.";
}
}
$myShape = new Shape("hexagon", 6); //making an object and passing values to the constructor
$myShape->description(); // A shape with 6 sides
?>
فراخوانی سازنده
همانطور که در خط دوازدهم کد بالا می بینید، نحوه فراخوانی سازنده مانند دیگر اعضای معمولی تابع نیست.- در بخش اعلام شی فراخوانی می شود.
- یک شی از
shape
ایجاد می کند. - سپس برای مقداردهی اولیه سازنده را فراخوانی می کند.
مقدمه ای بر تخریب کنندگان
تخریب کنندگان دقیقا معکوس سازندگان هستند، چرا که آخرین رفتار شی را تعریف می کنند و زمانی که دیگر از شی استفاده نمی شود اجرا می شوند.تخریب کننده یک شی که هیچ پارامتری نیز دریافت نمی کند، زمانی فراخوانی می شود که دیگر هیچ ارجاعی به شی داده نمی شود اما قضیهgarbage collection
باعث می شود که نتوانیم زمان دقیق اجرای تخریب کنندگان را مشخص کنیم.توجه: تخریب کنندگان فراخوانی نمی شوند بلکه به طور خودکار اجرا می شوند.<?php
class Shape
{
public $sides = 0;
public $name = " ";
public function __construct($name, $sides)
{ //defining a constructor
$this->sides = $sides; //initializing $this->sides to $sides
$this->name = $name; //initializing $this->name to $name
}
public function __destruct()
{ //destructor for Shape gets called at the end
echo "Destructor Called!\n";
}
public function description()
{ //method to display name and sides of a shape
echo "A $this->name with $this->sides sides.\n";
}
}
$myShape = new Shape("hexagon", 6); //making an object and passing values to the constructor
$myShape->description(); // A shape with 6 sides
?>
به پایان بحث در مورد سازندگان و تخریب کنندگان رسیده ایم. در بخش بعدی در مورد انواع اصلاح کنندگان دسترسی که هنگام اعلام متغیرهای عضو در کلاس ها استفاده می شود بحث خواهیم کرد.