ما در شبکه های اجتماعی :

کلاس ها و اشیاء دو جنبه اصلی برنامه نویسی شی گرا هستند. یک کلاس مجموعه ای مستقل از متغیرها و توابع است که با یکدیگر برای انجام یک یا چند کار خاص کار می کنند ، در حالی که اشیاء نمونه های فردی از یک کلاس هستند.

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

به عنوان مثال ، یک کلاس را به عنوان یک طرح برای یک خانه فکر کنید. طرح خود یک خانه نیست ، اما یک نقشه تفصیلی از خانه است. در حالی که ، یک شی مانند خانه واقعی است که مطابق آن طرح ساخته شده است. ما می توانیم چندین خانه یکسان را از همان طرح بسازیم ، اما هر خانه ممکن است دارای نقاشی های مختلف ، فضای داخلی و خانواده های داخل آن باشد ، همانطور که در تصویر زیر نشان داده شده است.



کلاس را می توان با استفاده از کلمه کلیدی کلاس (class)، به دنبال آن نام کلاس و یک جفت پرانتز ({ }) اعلام کرد ، همانطور که در مثال زیر نشان داده شده است.بیایید یک فایل PHP با نام Test.php ایجاد کنیم و کد مثال زیر را درون آن قرار دهیم تا کد کلاس ما از بقیه برنامه جدا شود. سپس می توانیم با استفاده از پرونده Test.php ، در هر کجا که لازم باشد ، از آن استفاده کنیم.

<?php
class Rectangle
{
    // Declare  properties
    public $length = 0;
    public $width = 0;
    
    // Method to get the perimeter
    public function getPerimeter(){
        return (2 * ($this->length + $this->width));
    }
    
    // Method to get the area
    public function getArea(){
        return ($this->length * $this->width);
    }
}
?>

در کدهای بالا حتما مورد سوال برای شما بعد از نام کلاس کلمه کلیدی ( public ) میباشد.در پاسخ به این سوال شما باید گفت که public سطح دسترسی میباشد بمعنی اینکه متد یا متغیری که با public مشخص می شود، قابل دسترس برای همه (چه از داخل کلاس و چه از خارج کلاس) خواهد بود.
لزوم استفاده از سطوح دسترسی چی میتونه باشه:خب باید گفت که کلیه کارهای ویرایشی که قرار باشه بیرون کلاس روی متد یا خاصیت داخل کلاس انجام بشه رو محدودش خواهیم کرد. و فقط متدهای تعریف شده یک کلاس میتونن تغییرات بر روی اعضای یک کلاس را داشته باشن.

پس از تعریف یک کلاس ، می توان اشیاء را با کلمه کلیدی ( new ) از کلاس ایجاد کرد. از طریق این نمونه شی به طور مستقیم می توان به روشها و خصوصیات کلاس دسترسی پیدا کرد.

<?php
// Include class definition
require "Test.php";
 
// Create a new object from Rectangle class
$obj = new Rectangle;
 
// Get the object properties values
echo $obj->length; // 0utput: 0
echo $obj->width; // 0utput: 0
 
// Set object properties values
$obj->length = 30;
$obj->width = 20;
 
// Read the object properties values again to show the change
echo $obj->length; // 0utput: 30
echo $obj->width; // 0utput: 20
 
 
// Call the object methods
echo $obj->getPerimeter(); // 0utput: 100
echo $obj->getArea(); // Output: 600
?>

نماد فلش (->) اشاره کننده در شی گرایی (OOP) است که برای دستیابی به خصوصیات و روشهای موجود در یک شی خاص استفاده می شود. و لازم میدونم که بگم.برای دسترسی به متغیرهای داخل یک کلاس توسط متدها یا سایر متغیرهای یک شی، از کلمه کلیدی ( this ) استفاده می شود.قدرت واقعی برنامه نویسی شی گرا هنگام استفاده از چندین مثال در همان کلاس ، همانطور که در مثال زیر نشان داده شده است

<?php
// Include class definition
require "Test.php";
 
// Create multiple objects from the Rectangle class
$obj1 = new Rectangle;
$obj2 = new Rectangle;
 
// Call the methods of both the objects
echo $obj1->getArea(); // Output: 0
echo $obj2->getArea(); // Output: 0
 
// Set $obj1 properties values
$obj1->length = 30;
$obj1->width = 20;
 
// Set $obj2 properties values
$obj2->length = 35;
$obj2->width = 50;
 
// Call the methods of both the objects again
echo $obj1->getArea(); // Output: 600
echo $obj2->getArea(); // Output: 1750
?>

همانطور که در مثال بالا مشاهده می کنید ، فراخوانی متد getArea () روی اشیاء مختلف باعث می شود که این روش بر روی مجموعه داده های مختلفی کار کند. هر نمونه از شیء کاملاً مستقل است ، با خصوصیات و روش های خاص خود ، و بنابراین می تواند به طور مستقل دستکاری شود ، حتی اگر آنها در همان کلاس باشند.

برنامه نویسی شی گرا ، PHP روشهای جادویی را هم فراهم می کند که هنگام انجام برخی اقدامات درون یک شی ، بطور خودکار انجام می شود.به عنوان مثال ، روش جادویی __construct () (معروف به سازنده) هر زمان که یک شی جدید ایجاد شود به طور خودکار اجرا می شود. به طور مشابه ، روش جادویی __dstrstruc () (معروف به ویرانگر) هنگام تخریب شی به صورت خودکار اجرا می شود. یک عملکرد ویرانگر ، منابع را به محض از بین رفتن یک شیء از بین می برد
۲۳ شهریور ۱۳۹۸ | by رضا جهاندیده | بدون ديدگاه | |
درباره نويسنده : رضا جهاندیده
رشته تحصيلی : کامپيوتر و گرافيک ,آشنا به زبان های php و css سرگروه تيم توسعه و طراحی نوين وب هاست در حدود 5 سال به ياری خداوند در زمينه هاي فوق مشغوليم به اميدحق توانسته ايم با مشاوره و راهنمايي کاملا رايگان در خدمت همه شما باشيم سربلند باشيد
ثبت دیدگاه




  • logo-samandehi
  • novinwebhostnovinwebhost
  • novinwebhostnovinwebhost
  • novinwebhostlogo-samandehi
  • novinwebhost