میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

کلاس و اشیا

کلاس الگویی برای اشیا است و یک شی object نمونه ای از کلاس است.

بیایید فرض کنیم کلاسی به نام Fruit داریم. یک میوه می تواند خصوصیاتی مانند نام ، رنگ ، وزن و غیره داشته باشد. ما می توانیم متغیرهایی مانند $ name ، $ color و $ weight را برای نگهداری مقادیر این خصوصیات تعریف کنیم.

وقتی اشیا منفرد (سیب ، موز و غیره) ایجاد می شوند ، همه خصوصیات و رفتارها را از کلاس به ارث می برند ، اما هر شی مقادیر مختلفی برای خصوصیات دارند.


یک کلاس تعریف کنید

کلاس با استفاده از کلمه کلیدی class  و به دنبال آن نام کلاس و یک جفت آکولاد {} تعریف می شود. تمام خصوصیات و روش های آن درون آکولاد ها است:

نحو

<?php
class Fruit {
// code goes here…
}
?>

در زیر ما یک کلاس به نام Fruit را متشکل از دو ویژگی ($ name و $ color) و دو روش set_name () و get_name () برای تنظیم و بدست آوردن ویژگی $ name اعلام می کنیم:

مثال

<?php
class Fruit {
// Properties
  public $name;
public $color;

// Methods
  function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
?>

توجه: در یک کلاس ، متغیرها را ویژگی و توابع را متد می نامند!


اشیا را تعریف کنید

کلاسها بدون اشیا هیچ چیز نیستند! ما می توانیم از یک کلاس چندین شی objects ایجاد کنیم. هر شی object دارای کلیه خصوصیات و روشهای تعریف شده در کلاس است ، اما دارای مقادیر مختلفی از ویژگی خواهند بود.

اشیا یک کلاس با استفاده از کلمه کلیدی new ایجاد می شود .

در مثال زیر ، $ apple و $ موز نمونه هایی از کلاس Fruit هستند:

مثال

<?php
class Fruit {
// Properties
  public $name;
public $color;

// Methods
  function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}

$apple = new Fruit();
$banana = new Fruit();
$apple->set_name(‘Apple’);
$banana->set_name(‘Banana’);

echo $apple->get_name();
echo “<br>”;
echo $banana->get_name();
?>

در مثال زیر ، دو روش دیگر برای تنظیم و بدست آوردن ویژگی $ color به کلاس Fruit اضافه می کنیم:

مثال

<?php
class Fruit {
// Properties
  public $name;
public $color;

// Methods
  function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
function set_color($color) {
$this->color = $color;
}
function get_color() {
return $this->color;
}
}

$apple = new Fruit();
$apple->set_name(‘Apple’);
$apple->set_color(‘Red’);
echo “Name: “ . $apple->get_name();
echo “<br>”;
echo “Color: “ . $apple->get_color();
?>


کلمه کلیدی this

کلمه کلیدی $ this به شی فعلی اشاره دارد و فقط در متد ها موجود است.

به مثال زیر نگاه کنید:

مثال

<?php
class Fruit {
public $name;
}
$apple = new Fruit();
?>

بنابراین ، کجا می توانیم مقدار ویژگی $ name را تغییر دهیم؟ دو راه وجود دارد:

۱٫ درون کلاس (با افزودن روش set_name () و استفاده از $ this):

مثال

<?php
class Fruit {
public $name;
function set_name($name) {
$this->name = $name;
}
}
$apple = new Fruit();
$apple->set_name(“Apple”);
?>

۲٫ خارج از کلاس (با تغییر مستقیم مقدار ویژگی):

مثال

<?php
class Fruit {
public $name;
}
$apple = new Fruit();
$apple->name = “Apple”;
?>

PHP – نمونه

می توانید از کلمه کلیدی instanceofبرای بررسی اینکه یک شی متعلق به کلاس خاصی است استفاده کنید:

مثال

<?php
$apple = new Fruit();
var_dump($apple instanceof Fruit);
?>

 

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟