آیا این امکان وجود دارد که یک شی در 2 یا چند کلاس به صورت همزمان باشد؟

پرسیده شده
فعالیت 1249 روز پیش
دیده شده 467 بار
0

سلام وقت بخیر

آیا این امکان وجود دارد که یک شی در 2 یا چند کلاس به صورت همزمان باشد؟

اگر وجود دارد لطفا چند مثال بزنید 

با تشکر

فایل پیوست

hamid mostafazadeh
hamid mostafazadeh

2 آذر 99

1
حذف شده

سلام 

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

اگر اینه منظورتون بله امکان پذیر هستش راه حل این مشکل دیزاین پترن سینگلتون که مثالش رو در زیر براتون میارم ‌:

class singltone {

private $instance = null;

private function __construct(){}
     

public static function getInstance()
{
    if($instance == null)
        $this->instance = new self();
    
     return $this->instance;
}

}
$singltone = singltone::getInstance();

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

این متود هم اگر قبلا شی از این کلاس ساخته شده بود خوب همون نمونه رو بر میگردونه در غیر اینصورت نمونه جدیدی رو میسازه و بر میگردونه.

فایل پیوست

میثم نصرتی

توسط

میثم نصرتی

2 آذر 99

1
حذف شده

سلام و احترام

یه منظوری که میشه از سوالتون رو دریافت کرد رو آقای نصرتی جواب دادند اما یه منظور دوم هم وجود داره.

اگر منظورتون اینکه چندین کلاس رو که دقیقا اسم‌های شبیه به هم دارند رو در چندین جای مختلف داشت، بله امکان پذیر هستش. 

راه حل این مسئله نیز استفاده از namspace ها هستش که جلوتو یادخواهید گرفت.

فایل پیوست

امیر صالحی

توسط

امیر صالحی

3 آذر 99