آموزش Otcl برنامه نویسی در Ns2

بدون ديدگاه

Notice: Undefined index: IRT in /var/www/vhosts/yaramoozan.ir/httpdocs/wp-content/plugins/xgravityforms-master x/currency.php on line 108

آموزش Otcl

برنامه نویسی OTcl قبل از یادگیری
بعدی – ایجاد گره

 

OTCL فرمت TCL با ویژگی شی گرا است. OTcl برای MIT Object Tcl کوتاه است.

 

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

اشیاء نمونه هایی از کلاس هستند. کلاس را می توان به عنوان نوع داده تعریف شده و اشیاء به عنوان متغیر از آن نوع داده استفاده کرد. در OTcl کلاس جدید با استفاده از دستور Class می تواند ایجاد شود.

نحو:

  کلاس <class_name>
  

 

مثال: کلاس تصادفی

 

1
Class Account

 

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

 

مثال: ایجاد شی

1
2
# object of Account class created.<font></font>
 Account john<font></font>

تعریف عضو داده کلاس

عضو داده کلاس می تواند با استفاده از دستور set با نام شی تعریف شود. این اعضای داده دید عمومی دارند.

 

نحو:

  <object-name> مجموعه <attribute-name> <attribute-value>
  

 

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

 

مثال :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# Create a new class Account<font></font>
 Class Account<font></font>
# Create object of Account class   <font></font>
 Account john<font></font>
# Attach some attributes with object john<font></font>
 john set name "john"<font></font>
 john set balance 20000<font></font>
 john set ac_no 12322<font></font>
 john set type "saving"<font></font>
# Fetch value of attributes<font></font>
puts [john set balance]<font></font>
<font></font>
#Output<font></font>
20000<font></font>

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

در آخرین فرمان از براکت استفاده می شود. این براکت فرمان را که در نتیجه نوشته شده است جایگزین می کند.

تعریف روشها در کلاس

روش یا توابع را می توان برای کلاس با استفاده از دستور instproc تعریف کرد .

 

نحو:

 <class-name> instproc <function-name> uments آرگومان}
 عملکرد بدن
 }

 

بیایید روشی را برای حساب کلاس ایجاد شده بالا تعریف کنیم. قبلاً ما یک شیء از Account Account ایجاد کرده ایم.

مثال :

1
2
3
4
Account instproc show {} <font></font>
{<font></font>
puts "show method is called"<font></font>
}<font></font>

کلاس دسترسی به ویژگی های داخل روش ها

 

با استفاده از دستور instvar می توان به صفات دسترسی داشت. در متغیر تابع عضو ابتدا متغیر داده با دستور زیر اعلام می شود.

 

نحو :

   $ self instvar <variable-name> <variable-name>
  

 

قبل از دسترسی به عضو داده ها در تابع / روش ها ابتدا باید اظهار داشت كه این اعضا به عنوان مثال متغیر شیء فراخوانی هستند. در برنامه قبلی Object john با سه ویژگی ایجاد می شود. حالا بیایید بگوییم می خواهیم جزئیات جون را چاپ کنیم.اکنون یک متد نمایش برای کلاس Account تعریف می کنیم.

مثال :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
   Class Account<font></font>
   Account instproc show { } {<font></font>
   $self instvar name balance type<font></font>
   puts "Name:$name"<font></font>
   puts "Balance:$balance"<font></font>
   puts "Type:$type"<font></font>
 }<font></font>
   Account john<font></font>
   john set name "john"<font></font>
   john set balance 12000<font></font>
   john set type "saving"<font></font>
<font></font>
   john show<font></font>
  #Output:<font></font>
  #Name:john<font></font>
  #Balance:12000<font></font>
  #Type:saving<font></font>


تعریف سازنده

سازنده یک تابع خاص است که به طور خودکار در زمان خلقت اشیاء فراخوانی می شود. سازنده زمانی مفید است که بخواهیم مقادیر پیش فرض را به اعضای داده اختصاص دهیم. بگذارید یک سازنده را در کلاس Account تعریف کنیم. برای تعریف تابع اولیه سازنده باید در کلاس تعریف شود.

مثال:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Class Account<font></font>
Account instproc init {  } {<font></font>
$self instvar name balance type<font></font>
$self set balance 0<font></font>
$self set type "saving"<font></font>
}<font></font>
<font></font>
# Create object of class Account<font></font>
Account john<font></font>
puts [john set balance]<font></font>
puts [john set type]<font></font>
<font></font>
#Output:<font></font>
#0<font></font>
#saving<font></font>

 

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

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

 

مثال:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Class Account<font></font>
Account instproc init {n b t } {<font></font>
$self instvar name balance type<font></font>
$self set name $n<font></font>
$self set balance $b<font></font>
$self set type $t<font></font>
}<font></font>
<font></font>
# Create object of class Account<font></font>
Account john "rocky" 54000 current<font></font>
puts [john set name]<font></font>
puts [john set balance]<font></font>
puts [john set type]<font></font>
<font></font>
#Output:<font></font>
#rocky<font></font>
#54000<font></font>
#current<font></font>
<font></font>

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

نام تخریب کننده در OTcl برابر با نام کلاس نیست. در OTcl ناوشکن شی را از مفسر خارج کرده و حافظه آن را رها کنید. instproc را به عنوان ویرانگر کار می کند.

مثال:

1
2
3
4
5
6
7
8
9
10
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> حساب کلاس</font></font><font></font>
 <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 تخریب instproc حساب {} {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  "مخرب به نام" قرار می دهد</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  }</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 حساب جان</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 جان نابود کن</font></font><font></font>
 <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 # خروجی:</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 # ویرانگر نامیده می شود</font></font><font></font>

وراثت

OTcl همچنین دستوراتی برای وراث یک کلاس موجود دارد. ویژگی وراثت به برنامه نویس اجازه می دهد تا کلاس جدیدی را با استفاده از کلاس موجود ایجاد کند. کلاس موجود به کلاس والدین یا کلاس فوق العاده معروف است و کلاس جدید به کلاس کودک یا کلاس فرعی معروف است.

 

نحو:

کلاس <sub-class-name> -superclass <super-class-name>

 

مثال:

1
2
3
4
5
6
7
8
9
10
11
12
13
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">  وسیله نقلیه کلاس</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  وسیله نقلیه instproc init {arg</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  $ خود نام instvar</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  $ تنظیم نام $ $ arg</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  }</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 کلاس Two_wheeler -superclass Vehicle</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 Two_wheeler instproc init {arg</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
  $ self next $ arg</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 }</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 Two_weler tw</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
 قرار می دهد [نام دو مجموعه]</font></font><font></font>

برنامه نویسی OTcl قبل از یادگیری
بعدی – ایجاد گره

فرم ثبت سفارش

  • تمامی درخواست های شما شامل: دوره های آموزشی تخصصی شبیه سازی دوره های آموزشی اجرای پیاده سازی مقاله دلخواه شما دوره های آموزشی پیاده سازی مقاله با آموزش ویدیویی دوره های آموزشی پیاده سازی Ns2 دوره های آموزشی شبکه در Ns3 , Cooja دوره های آموزشی پایتون دوره های آموزشی متلب دوره های آموزشی C++ مشاوره در پایان نامه (ایده پردازی) پیاده سازی فصل 4 پایان نامه پیاده سازی و شبیه سازی پایان نامه پیاده سازی و شبیه سازی مقالات پایه دوره های آموزشی درخواستی و غیره... درخواست های مربوط به دوره ها آموزشی تخصصی در رشته سازی های مهندسی کامپیوتر ، فناوری اطلاعات، مخابرات و غیره می تواند به ما ارسال شود.
  • این فیلد بسیار مهم می باشد. درخواست ها بر اساس ایمیل دسته بندی شده و پاسخ داده می شوند. لطفا ایمیل را صحیح وارد کنید.
  • در این بخش موارد مربوط به درخواست خود را توضح دهید عنوان پروژه عنوان درخواست شما ( پیاده سازی ، شبیه سازی مقاله ، دوره های آموزشی و ...) توضیح از کارتون و دقیقا درخواست شما چیست
  • در صورتی که فایلی میخواهید ارسال کنید می توانید از این بخش ارسال کنید - مانند : (jpg, gif, png, pdf)

نوشتن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.

یک × دو =