نحوه تعریف کلاس ناشناس:
کلاسهای ناشناس مستقیماً هنگام نیاز نمونهسازی میشوند و میتوانند به متغیری اختصاص یابند یا به عنوان آرگومان به تابعی ارسال شوند. ساختار کد آنها شبیه به کلاسهای معمولی است، با این تفاوت که نامی برای کلاس تعریف نمیشود.
یک نمونه کلاس بی نام در زیر آماده هست:
$class = new class {
}تفاوتها با کلاس عادی:
کلاسهای ناشناس، همانطور که از نامشان پیداست، نامی ندارند.
اغلب برای استفادههای یکباره یا در محدودههای محلی که نیازی به تعریف یک کلاس کامل نیست، به کار میروند.
در زمان تعریف کلاس نمونهسازی میشوند و نمیتوانند مجدداً نمونهسازی شوند مگر اینکه تعریف کلاس مجدداً انجام شود.
مثال:
یک سناریو کاربردی برای استفاده از کلاسهای ناشناس، تعریف سریع یک اینترفیس برای استفاده در یک تابع خاص است، بدون نیاز به تعریف یک کلاس کامل در سطح برنامه.
interface Greeting {
public function sayHello();
}
// استفاده از کلاس ناشناس که اینترفیس Greeting را پیادهسازی میکند
$greeting = new class implements Greeting {
public function sayHello() {
return "Hello, Anonymous Class!";
}
};
echo $greeting->sayHello();در این مثال، یک کلاس ناشناس که اینترفیس
Greeting را پیادهسازی میکند، تعریف و بلافاصله نمونهسازی شده است. این اجازه میدهد برای موارد استفاده محدود یا تکباره، کدی تمیزتر و سادهتر نوشته شود.در مثال دیگر میتوانیم یک کلاس ناشناس را به عنوان ورودی به یک تابع بدهیم:
my_function(new class {
});عملکرد آنها دقیقا مشابه تابع های ناشناس (Anonymous function) یا (closure) می باشد.
اگر با Anonymous function ها آشنایی ندارید یا آشنایی کمی دارید در کامنت ها اطلاع دهید تا یک پست برای آنها نیز آماده کنیم.
👤 AmirHossein
💎 Channel: @DevelopixPHP