abstract class یا کلاس مجرد چیست؟

کلاس غیر قطعی و ناتمامی است که در سطح فرزندانش باید پیاده سازی آن تکمیل گردد.
ویژگیهای abstract class :

  • در اعلان کلاس abstract از کلمه کلیدی abstract قبل از class استفاده می کنیم.
  • اگر کلاسی تنها یک رفتار و یا خاصیت غیر قطعی داشته باشد آن کلاس تبدیل به یک کلاس مجرد و غیر قطعی میگردد.
  • abstract class ها non-instantiatable هستند.در واقع به علت ناتمام بودن پیاده سازیشان نمی توانیم از آنها instanceبسازیم.
  • abstract class ها حداقل یک یا بیشتر متود یا پروپرتی abstract دارند.abstract member ها بدون هیچگونه پیاده سازی فقط declare می شوند.abstract member ها قابل تعریف در کلاسی غیر از کلاس abstract نیستند.
  • کلاسهای فرزند abstract class باید تمامی abstract member ها را پیاده سازی کنند.
  • از کلمه کلیدی sealed در اعلان abstract class نمی توانیم استفاده کنیم .در واقع abstract class باید توسط فرزندانش به ارث رود.
  • متودهای مجرد و غیر قطعی که نیاز به overrid شدن دارند ,نیازی به کلمه کلیدی virtual ندارند .در واقع کلمه کلیدی virtual در کلمه abstract نهفته است.


منبع : http://barnamenevis.org ( نويسنده : az_farzaneh)

Method overloading چیست؟

به امکان تعریف چندین متود با نام یکسان اما متفاوت درامضا( نوع و تعداد پارامترها )در یک کلاس گفته می شود .در واقع امکان داشتن ورژنهای مختلفی از یک متود درون یک کلاس.موارد زیر در Method overloading مطرح می باشند:
  • برای overload کردن یک متود باید متودهایی با signature های متمایز از یکدیگر ایجاد کنیم.signature هر متود شامل نوع , ترتیب و تعداد پارامترها می باشد.
  • return type یا مقدار برگشتی هر متود شامل signature متود نمی شود ,در #c مجاز نیستیم 2متود با signature یکسان امابا مقادیر برگشتی متفاوت داشته باشیم.
مثال :
کد:
  public class MyMathClass
{
public int AddNum(int x)
{
return x + x;
}
public int AddNum(int x, int y)
{
return x + y;
}
public float AddNum(float x)
{
return x + x;
}

منبع : http://barnamenevis.org/  (نويسنده : az_farzaneh)

علامت @ از كجا آمده است؟

علامت @ از كجا آمده است؟

اگر تاكنون به ساختار آدرسهاي پست الكترونيكي توجه كرده باشيد ، حتما مي دانيد كه در همه آنها علامتي به شكل يك a به همراه دايره اي دور آن وجود دارد. اين علامت به طور معمول ات ساين At Sign ناميده مي شود. اما واقعيت تعجب آور اين است كه هيچ اسم و رسمي بين المللي براي آن وجود ندارد و در زبانهاي مختلف اسمهاي بسيار عجيب و غريبي به اين علامت داده اند. بعضي از آنها عبارتند از : هلندي : دو ميمون – دانماركي : خرطوم فيل -  فنلاندي : دم گربه – آلماني : ميمون معلق – يوناني : اردك كوچك – مجاري : كرم – كره اي : حلزون – نروژي : دم خوك – روسي : سگ كوچك ، اين اسامي به خاطر شباهت فيزيكي شان با شكل @ انتخاب شده اند ، با كمی دقت متوجه خواهيد شد كه خيلي هم اسم هاي بي ربطي نيستند. تا پيش از ابداع پست الكترونيكي علامت @ را تاجرين براي مشخص كردن قيمت واحد كالاها به كار مي بردند. اما اين علامت با پيدايش پست الكترونيكي معروفيت جهاني پيدا كرد . به دليل استفاده مهم آن ، حتي كشورهايي كه تا قبل از آن اين علامت را نديده بودند ، هم مجبور شدند آن را به صفحه كليد رايانه هايشان اضافه كنند. اگر چه منشا واقعي پيدايش اين علامت ناشناخته است ، اما حدس هايي در اين مورد وجود دارد مبني  بر اين كه راهبان قرون وسطي آن را ابداع كرده اند. چون در آن زمان كار طاقت فرسا و خسته كننده حروف چيني كتابهاي چاپي توسط اين راهبان انجام مي شد و آنها هميشه به دنبال راههايي براي كوتاه كردن نوشته ها بودند ، ممكن است به نظر برسد كه at خود به خود كوتاه است . اما در زبان لاتين و انگليسي به وفور ديده مي شود. بنابراين راهبان تصميم گرفتند t را به صورت دايره اي دور a بچرخانند و در نهايت علامت @ را به جاي لغت at درست كردند. تاجرهايي كه اين علامت را در كتابها ديده بودند نيز تصميم گرفتند آن را در كارهاي خود استفاده كنند . همانطور كه خوانديد با پيدايش پست الكرتونيك همه چيز دگرگون شد و استفاده از @ در جهان متداول گرديد.

دو تكنيك ديگر در دلفي

تكنيك ايجاد يك فرم شفاف

با استفاده از دو خط كد زير در رويداد FormCreate  مي توان يك فرم شفاف ايجاد نمود.

Form1.Brush.Style:=bsClear;

Form1.BorderStyle:=bsNone;


 تكنيك ساخت يك فرم بيضي شكل

در رويداد FormCreate ابتدا يك متغير تعريف مي كنيم :

var  h: THandle;

سپس با استفاده از كد زير ابتدا يك بيضي ساخته و سپس فرم را به شكل اين بيضي در مي آوريم:

h := CreateEllipticRgn(40,40,300,200);  SetWindowRgn(form1.Handle,h,TRUE);

/*]]-->

چند تكنيك در دلفي

براي شروع به كار مجدد وبلاگ چند تكنيك در دلفي رو در نظر گرفتم!!

كه اين تكنيك ها عبارتند از :

جلوگيري از نمايش يك فرم

ايجاد يك فرم شفاف

ساخت يك فرم بيضي شكل

تكنيك اول رو مي تونيد در ادامه اين پست ببيند. دو تكنيك بعدي در پست بعدي ارائه مي شود!

ادامه نوشته

احياي وبلاگ

سلام به همه دوستان و بازديدكنندگان محترم اين وبلاگ

مدت طولاني بود كه مطلبي رو در وبلاگ ننوشتم! از اين بابت از همه دوستان عذرخواهي مي كنم!!

ولي تصميم گرفتم كه با توكل به خدا دوباره مطلب در وبلاگ بذارم تا مورد استفاده دوستان قرار بگيره!!

البته سعي دارم كه خيلي فعال تر از گذشته مطالب پربار تري رو در وبلاگ قرار بدم!!

دوستان اگه نظري در مورد نوشتن مطالب دارند با كمال ميل استقبال مي كنم!!!


افتتاح تالار گفتگو

سلام خدمت همه دوستان عزیز و بازدیدکنندگان محترم

تالار گفتگویی با مدیریت دوست عزیزم آقا محسن افتتاح شد.

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

 آدرس این تالار هم در بخش پیوندهای وبلاگ آمده و هم می توانید از لینک زیر استفاده نمایید:

http://www.forum.itorab.com

سال نو مبارک

سلام خدمت همه دوستان عزیز و بازدید کنندگان محترم

سال نو را به همه شما دوستان عزیز و هموطنان گرامی تبریک عرض می کنم. و امیدوارم که سالی خوب و پربرکت داشته باشید.

کار کردن با انواع داده ها ( بخش اول )

در این قسمت درباره کار کردن با انواع داده ها در سی شارپ صحبت می کنم.

برای بخش اول کار کردن با انواع اعداد را قرار می دهم.

برای کار کردن با انواع داده عددی به ادامه مطلب مراجعه نمایید >>

ادامه نوشته

آموزش دلفی

سلام به دوستان عزیز به خصوص علاقمندان به دلفی

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

برای شروع با چند ترفند مربوط به ویندوز آغاز می کنم:

به ادامه مطلب توجه نمایید >>

ادامه نوشته