کلمه کلیدی This

aliamel

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

PHP:
package 
{
	
	import ...
	

	public class rd extends MovieClip
	{
		public var ld:Button;
		public var lh:Button;
		public var filein:DataGrid;

		public var txt:TextArea;
		
		public var_url:URLRequest;
		public var image:Bitmap;

		public function rd()
		{
			
...
			

			ld.addEventListener(MouseEvent.CLICK,ready);
			lh.addEventListener(MouseEvent.CLICK,lof);
			
		}

		private function ready(e:MouseEvent):void
		{
		

						
			if (image != null)
			{
				if (this.contains(image))
				{
					this.removeChild(image);
				}
			}

}...
 

JavidFlasher

کاربر فعال
thisروند جاری رو نشون میده !ینی یه همون محدوده که شی ساخته شده اشاره میکنه!
زیاد فرق نمیکنه استفادش چون بین متغیرهای محلی و نمونه های دیگه تمییز برقرار میکنه واسه عملکرد کامپایلر بهتر باشه
 

aliamel

کاربر فعال
مرسی اما خیلی کلی گفتی
توی مثال من به چی اشاره می کنه ؟ وآیا میشه به جای This چیز دیگه ای نوشت؟
به نظر من توی این مثال this به فرم اصلی داره اشاره می کنه .بدین معنی که اگه توی فرم یه آبجکتی حولی تصویر وجود داره اونو پاک کنه
 

aliamel

کاربر فعال
ممنون از همه
جناب Triton جان
لینکی که دادی بدک نبود اما توضیح کاملی رو که می خواستم نداشت.
 

BehrouzPc

پــــادشــاه فــلــــش
ممنون از همه
جناب triton جان
لینکی که دادی بدک نبود اما توضیح کاملی رو که می خواستم نداشت.
دیگه کامل تر از این فکر نمی کنم بشه این مبحث رو توضیح داد!
شما چه توضیحی نیاز دارید؟
 

aliamel

کاربر فعال
حاج بهروز یه سری مثال های سطح بالاتر لازم دارم که بتونم دقیقا مفهوم this رو داخلش متوجه بشم.مثال هایی مثل نمونه ای که نوشتم. در هر صورت اگه امکانش نبود مساله ای نیست
ممنون از همگی
 

triton

کاربر فعال
اگه مفهوم شئ گرایی را درک کرده باشی به طور حتم مشکلی با مفهوم this نداری ...
 

aliamel

کاربر فعال
triton:
مفهوم شی گرایی به طور حتم درک شده. اگه کمکی کنی و دقیقا مفهوم نمونه ای که گذاشتم رو تشریح کنی ممنونت می شم
 

clove-pink

کاربر فعال
مرسی اما خیلی کلی گفتی
توی مثال من به چی اشاره می کنه ؟ وآیا میشه به جای This چیز دیگه ای نوشت؟
به نظر من توی این مثال this به فرم اصلی داره اشاره می کنه .بدین معنی که اگه توی فرم یه آبجکتی حولی تصویر وجود داره اونو پاک کنه

سلام
this به نمونه (آبجکتی)که از این کلاس ایجاد می شه اشاره داره و از اونجا که خود این کلاس ما ا،کلاس movieClip رو به ارث برده بنابرایم متدها و propetries که public یا protected هستند و مربوط به movieClip هم به ارث برده.متد removeChild و contains هم از MovieClip به ارث می بره.
کدی که شما گذاشتید اون بخشی که image رو مقدار داده ،معلوم نیست.ولی به هر حال هر مقداری که داده ،ابتدا بررسی می شه null هست یا نه(چون اگه null باشه و ما remove کنیم خطا می ده) و اگه null نبود بررسی می شه که آیا این image در نمونه ای از این کلاسی که ایجاد کردیم هست یا نه؟(contains)اگه بود حالا remove می کندش.

اینکه فرمودین به جای this می شه چیز دیگه ای بزاریم فکر می کنم به جای
کد:
this.removeChild(this)
میتونیم این رو بگیم
کد:
image.parent.removeChild(image)

که البته باز یجوری این هم همون this منظورشه چون فکر می کنم احتمالا در جایی از کد image به این کلاس addChild شده و image.parent هم چیزی هست که image بهش add شده یعنی همین this.


اگه جایی رو اشتباه گفتم دوستان اصلاح کنند.
 
آخرین ویرایش:

++Hadi++

Active Member
this اشاره گری هست به شیی از یه کلاس که ساخته شده و الان دارید به اون دستور می دین .این مورد از C++ به ارث رسیده و در حقیقت اگه بخواهین به یه مشخصه یا متد از شی ساخته شده از کلاس خاص دسترسی داشته باشین می تونین از این اشاره گر یا Pointer استفاده کنین .
باید بدونید که تو C++ مشخصه ها و متد های استاتیک با مشخصه this قابل دسترسی نیستند چون مشخصه و متد استاتیک در ساختار root کلاس تعریف می شه و اشیا به صورت جداگانه این قلم (استاتیک ) رو به ارث نمی برند بلکه همه اشیای ساخته شده ، به صورت تماما یکپارچه این اقلام رو به ارث می برند .
بهتره یه نظر به آموزش OOP In Actionscript واقع در امضام و آموزش اکشن 3 از 0 تا بینهایت بندازین .
بای...
 

aliamel

کاربر فعال
مرسی از clove- pink , hadi
و همگی دوستان

clove- pink توضیحت خوب بود مخصوصا دو خط اول . من خودم روی this در این مثال خیلی تحقیق کردم و متوجه شدم جریان چیه و this داره به کجا اشاره میکنه
This در صورتی که داخل متد Event Listener ی مثل یک کامپوننت قرار بگیره به فرم اصلی(یا همون کلاس اصلی که مووی کلیپ هست )اشاره می کنه
 

kodex2

کاربر فعال
دوست عزیز موضوع اونقدر ها هم پیچیده نیست.

this یعنی "این" و دقیقا به آبجکت یا ایونت جاری که توش هست اشاره داره. اگه توی یه مووی کلیپ باشه به اون اشاره داره. اگه توی کانستراکتور یه کلاس باشه با اون ابجکت اشاره داره و البته اگه اون کلاس از یه کلاس دیگه ارس برده باشه، به خود کلاس پدر هم اشاره داره. نیازی به بررسی یه نمونه خاص برای درکش نیست.

موفق باشید.
 

aliamel

کاربر فعال
kodex خان مشکلم حل شده اما اینی که گفتی:
"اگه توی کانستراکتور یه کلاس باشه با اون ابجکت اشاره داره"
جمله دقیقی نیست . اگه در کانستراتکور n تا آبجکت داشته باشیم به کدوم آبجکت اشاره؟


در کل باهات موافقم
 

BehrouzPc

پــــادشــاه فــلــــش
kodex خان مشکلم حل شده اما اینی که گفتی:
"اگه توی کانستراکتور یه کلاس باشه با اون ابجکت اشاره داره"
جمله دقیقی نیست . اگه در کانستراتکور n تا آبجکت داشته باشیم به کدوم آبجکت اشاره؟


در کل باهات موافقم
منظور خود همان کلاس هست
 

جدیدترین ارسال ها

بالا