تعریف متد کلاس
PHP:
// classes example
#include <iostream>
using namespace std;
class Rectangle {
int width, height;
public:
void set_values (int,int);
int area() {return width*height;}
};
void Rectangle::set_values (int x, int y) {
width = x;
height = y;
}
int main () {
Rectangle rect;
rect.set_values (3,4);
cout << "area: " << rect.area();
return 0;
}
منبع
در برنامه بالا کلاس متدی به نام set_values دارد و می بینید که چگونه بعد از کلاس این متد تعریف شده.
منظور این قسمت است:
PHP:
void Rectangle::set_values (int x, int y) {
width = x;
height = y;
}
به چهارنقطه دقت کنید:
نام کلاس و بعد چهارنقطه و بعد نام متد. دوبار باید دو نقطه را بزنید.
حالا این متد کارش چیه؟
می بینید که ورودی های متد را ریخته در متغیرهای آبجکت.
و متد بعدی یعنی area استفاده کننده از متغیرهای آبجکت است. که حاصل ضرب دو متغیر آبجکت را به عنوان خروجی خود برمی گرداند.
پس متد اولی متغیرها را مقدار دهی کرده
و متد دومی از منغیرهای آبجکت استفاده کرده و خروجی داده.
نگاه کنید داخل main: ابتدا آبجکت خلق شده و سپس با دو متد مساحت مستطیل حساب شده.
شاید بگویید به جای ارسال 3 و 4 با این شیوه و بعد برگشت گرفتن با عذاب می آمدیم خودمان دو عدد را در هم ضرب می کردیم.....
ولی این فقط یک مثال است که نشان دهد متدها چه رابطه ای با متغیرها می توانند داشته باشند.
پس در این پست با روش تعریف متد بعد تعریف کلاس آشنا شدید
و یک نوع رابطه بین متدها و متغیرهای آبجکت ایجاد کردیم.