تور لحظه آخری
امروز : چهارشنبه ، 23 آبان 1403    احادیث و روایات:  امام علی (ع):سخن چون دواست، اندکش سودمند و زیادش کشنده است.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

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

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

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

لوله و اتصالات آذین

 






آمار وبسایت

 تعداد کل بازدیدها : 1828710436




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

آموزش برنامه نویسی شی گرا در دات نت


واضح آرشیو وب فارسی:سایت ریسک: rtech9th February 2008, 02:41 PMدوستان توجه کنید برای درک بهتر مفاهیم شما باید حتما با این زبانها آشنا باشید و قبلا کمی برنامه نویسی کرده باشید . اصلا شی چیه ؟ این یکی مبهم ترین سوالهایی هست که برنامه نویسان با آن مواجه هستند کاربران ثبت نام کرده قادر به مشاهده لینک می باشند در دنیای واقعی به هر چیزی که بتونیم حسش کنیم میگیم شی ء . اما آیا تو دنیای کامپیوتر و برنامه نویسی هم همینطوره ؟ نه دیگه اشتباه نکنید ، اینجا نمیتونید حسش کنید کاربران ثبت نام کرده قادر به مشاهده لینک می باشند ما تو برنامه نویسی به هر موجودیتی که مستقل باشه و دارای یک سری مشخصات و رفتار باشه که قابل شناسایی باشه میگیم شی ء . برای مثال یک انسان رو در نظر بگیرید : چه مشخصاتی داره ؟ دو تا پا داره قد رنگ پوست رنگ چشم رنگ مو نژاد و ..... اما چه رفتارهایی انجام میده ؟ راه میره میشینه غذا میخوره میبینه گوش میده و ........ اینها برخی از مشخصات یک انسان بود ، اما مشخصات عمومی ، میدونید که همه ادمها شبیه هم نیستند . در برنامه نویسی شی گرا دو چیز خیلی مهمه ، یکی کلاس و یکی هم وهله یا نمونه . اما بیشتر کار ما با وهله ها یا Instance ها هست ، وهله یا نمونه یک شی واقعی است که از روی الگو ( همان کلاس ها ) ایجاد میشوند ، درواقع ما از هر کلاس فقط یکی داریم ولی وهله ها میتونند بی نهایت باشند . حالا بزارید یک مثال بزنیم : Dim men As New Human با نوشتن کد بالا ما در واقع یک وهله از روی کلاس انسان ایجاد کردیم ( به زودی این کلاس رو براتون مینویسم ) ، پس در واقع men از نوع انسانه که رفتارها و مشخصاتش رو از کلاس انسان میگیره . حالا بیایید ببینیم خاصیت یا Property چیه ؟ یک انسان رو در نظر بگیرید ، رنگ چشم ، رنگ مو ، قد و .... خصوصیات یا Property یک انسان به شمار میروند . متد method چیه ؟ دوباره یک انسان رو در نظر بگیرید ، کارها و رفتارهایی که انجام میده میشه متد ، مثلا راه رفتن ، نشستن و .... رویداد یا Event چیه ؟ رفتارهایی که در مقابل محرکهای بیرونی انجام میده میشه رویداد ، مثلا وقتی سوزنی در پای شما فرو بره ممکنه بی اختیار فریاد بکشید . تا اینجا توضیحات مختصری به شما دادم ، لازم است بدانیم که هر چیزی که شما در دات نت با آن سر و کار دارید کلاس هستند مثلا وقتی شما مینویسید : Dim strname As String در واقع شما با نوشتن این کد یک نمونه از کلاس String ایجاد کردید که این کلاس یک سری خصوصیات مثل Chars یا Length داره و یک سری متد مثل Toupper یا Trim و .... اما String رویداد ندارد !! این مهمه که بدونید هر کلاس حتما لازم نیست که خصوصیات ، متد یا رویداد داشته باشه . پس همه چیز تو دات نت کلاس هستند . حالا اصلا چرا از اشیاء استفاده میکنیم ؟ برنامه نویسی شی گرا امکانات بسیار عالی در اختیار ما میزارند ، خیلی ها فکر میکنند برنامه نویسی شی گرا خیلی سخته در حالی که اصلا اینطور نیست اگر شما با 4 تا اصطلاح که در زیر میگم آشنا بشید و خوب یاد بگیرید ، به راحتی میتونید برنامه نویسی شی گرا انجام بدید . حالا این 4 تا چیه ؟ تجرید ، کپسوله کردن ، پلی مورفیسم و وراثت 1 - تجرید ( Abstraction ) : یعنی اینکه ساز و کار و پیچیدگی های شی رو از محیط خارج پنهان کنیم ، خوب واسه اینکه بهتر بفهمید بزارید یه مثال براتون بزنم MP3 Player رو در نظر بگیرید برای کار با اون شما لازم نیست بدونید توش چه خبره ، فقط کافیه روشنش کنید و ازش استفاده کنید . 2 - کپسوله کردن ( encapsulation ) : یعنی اینکه هر شی باید همه چیزهایی که برای کارکردن صحیح نیاز داره رو داشته باشه و برای تامین داده ها و اطلاعات خودش به دنیای بیرون نیازی نداشته باشه . مثلا باز همون انسان رو در نظر بگیرید ، انسان برای غذا خوردن همه چیز رو داره ، دندون برای جویدن ، معده برای هضم کردن و ..... این به این معنی نیست که همه چیز رو باید از اول بسازید ، میتونید از کلاسهای دیگه داخل کلاس خود استفاده کنید که این استفاده مجدد از اشیا از مهمترین ویژگی های مدل شی گرا محسوب میشه . 3 - پلی مورفیسم ( polymorphism ) : یعنی اینکه اشیاء میتونند کارهای مشابهی رو انجام بدن ، ولی به روشهای مختلف ( این رو به زودی توی نوشتن کدها به صورت کامل براتون توضیح میدم ) 4 - وراثت ( Inheritance ) : این مورد یکی از مهمترین ویژگی های برنامه نویسی شی گرا محسوب میشه . به ارث بردن یکی از بهترین روشها برای تولید ویژگیهای جدیده .مثلا انسان رو در نظر بگیرید ، گفتیم که یک سری ویژگی های عام داره ( رنگ پوست ، مو و .... ) حالا فرض کنید که ما یک زیرکلاس به اسم مثلا زن و یک زیر کلاس به اسم مرد میسازیم ، این دو زیر کلاس علاوه بر داشتن ویژگی های عمومی انسان یک سری ویژگی های خاص خودشون هم دارند . نویسنده : رامین احمدی منبع (کاربران ثبت نام کرده قادر به مشاهده لینک می باشند) rtech9th February 2008, 02:43 PMاعضای کلاس : تمام داده ها ، متغیرها و توابعی که در یک کلاس به کار میبریم تشکیل اعضای یک کلاس رو میدهند تمام اعضای یک کلاس میتونند به یکی از روش های زیر تعریف شوند : نکته : یادگیری این مفاهیمی که در زیر میگم خیلی مهمه ، سعی کنید فعلا فقط مفهومش رو یاد بگیرید چون وقتی کد نویسی میکنم تمام اینها رو به خوبی متوجه خواهید شد . 1 - Public : هر کدام از اعضا که به صورت Public تعریف شوند میتوانند توسط دنیای خارج در دسترس قرار بگیرند . 2 - Private : تمام اعضایی که به صورت Private تعریف بشن فقط توسط اعضای داخلی همان کلاس در دسترس خواهند بود . 3 - Protected : اعضایی که به صورت Protected تعریف شوند فقط و فقط در داخل همان کلاس قابل استفاده هستند و نمیتونند در کلاسهایی که از کلاس جاری مشتق شدند استفاده بشند . بزارید در مورد این دومی و سومی یک مثال بزنم براتون . کلاس انسان که یادتون هست ، فرض کنید شما یک خاصیت تعریف میکنید به این صورت : Private Hair as string Protected legs as integer حالا فرض کنید یک زیرکلاس میسازیم به اسم Men ، شما در این زیرکلاس میتونید از متغیر Hair کلاس پایه استفاده کنید اما هرگونه تلاش برای استفاده از متغیر legs بی فایده خواهد بود . حالا تو مثالهای عملی باز هم بیشتر توضیح میدم در این مورد . 4 - Shared : یادتون باشه که در #C به جای Shared از Static استفاده میکنیم ، اعضایی که به صورت Shared تعریف بشن ، بدون ایجاد یک نمونه از کلاس جاری قابل دسترس خواهند بود . نویسنده : رامین احمدی rtech9th February 2008, 02:46 PMخوب بیایید یک کلاس ساده بنویسیم که مشخصات یک فرد مثل نام ، نام خانوادگی و سن او را بگیرد . در وی بی دات نت ما به این صورت یک کلاس تعریف می کنیم : Public Class daneshjoo End Class و در #C : Public Class Daneshjoo { } خوب گفتیم میخواهیم مشخصات نام و نام خانوادگی و سن یک دانشجو رو بگیریم . به جلسات اول مراجعه کنید ، گفتیم یک کلاس شامل یک سری مشخصات هست ، ما اینجا 3 مورد خصوصیت یا Property داریم ، برای تعریف خصوصیت در وی بی به این صورت عمل میکنیم : Public Property Name() As String Get End Get Set(ByVal value As String) End Set End Property خوب همانطور که متوجه شدید هر خصوصیت یا Property از دو قسمت Get و Set تشکیل شده است ، قسمت Set برای گرفتن اطلاعات از محیط خارج و تجزیه و تحلیل درستی اطلاعات به کار میرود ، مثلا در مورد سن کاربر نمیتونه مقدار 0 و منفی وارد کنه که باید در اینجا چک بشه و در قسمت Get هم ما اطلاعات را به دنیای خارج منتقل میکنیم . اجازه بدید این کلاس را به صورت کامل با 3 خصوصیت براتون بنویسم : Vb.net : Public Class daneshjoo Private strname As String Private strfamily As String Private intage As Integer Public Property Name() As String Get Return strname End Get Set(ByVal value As String) strname = value End Set End Property Public Property Family() As String Get Return strfamily End Get Set(ByVal value As String) strfamily = value End Set End Property Public Property Age() As Integer Get Return intage End Get Set(ByVal value As Integer) intage = value End Set End Property End Class به #C : public class daneshjoo { private string strname; private string strfamily; private int intage; public string Name { get { return strname; } set { strname = value; } } public string Family { get { return strfamily; } set { strfamily = value; } } public int Age { get { return intage; } set { intage = value; } } } اول کار ما 3 تا عضو یا متغیر داخلی تعریف کردیم که از دنیای بیرون قابل استفاده نیستند و فقط در خود کلاس دانشجو میتونند در دسترس قرار بگیرند . سپس 3 تا خصوصیت تعریف کردیم برای گرفتن نام و نام خانوادگی و سن ، اگر توجه کنید در قسمت های Set و Get و از متغیرهای داخلی خود کلاس استفاده کردیم اما خود Property ها به صورت Public تعریف شدند تا بتونیم از بیرون به آنها دسترسی داشته باشیم . حالا بیایید در یک صفحه جدید یک نمونه یا وهله از این کلاس بسازیم و ازش استفاده کنیم . شما میتونید در Page_load و یا هرجای دیگری از این کلاس به این صورت استفاده کنید : اول یک نمونه ازش میسازیم : vb.net : Dim myclass as new Daneshjoo به #C : Daneshjoo class1= new Daneshjoo(); حالا به این صورت میتونید مشخصات رو وارد کنید : myclass.name="Ramin" myclass.family="Ahmadi" myclass.age=23 حالا فرض کنید میخواهید این مشخصات را در 3 لیبل نمایش دهید : lblname.text=class1.name lblfamily.text=class1.family lblage.text=class1.Age اما پرسشی که ممکنه در ذهن شما به وجود اومده باشه اینه که چرا به جای استفاده از Property ها متغیرهای رو به صورت Public تعریف نکنیم و از آنها استفاده نکنیم ؟ این کار چند دلیل دارد : 1 - مخفی کردن ساز و کار کلاس از دنیای خارج ( تجریدی بودن ) 2 - از طریق Property ها میتونیم صحت اطلاعات وارد شده را کنترل کنیم . در پست های بعدی کمی بیشتر با کلاس ها کار میکنیم . نویسنده : رامین احمدی منبع (کاربران ثبت نام کرده قادر به مشاهده لینک می باشند) elhamsa 2223rd October 2009, 09:06 PMخیلی خوب بود ممنون ردا11th December 2010, 09:15 AMباسلام و تشکر مطالب بالا خیلی خوب بود و خیلی به من کمک کرد لطفاً ادامه مطالب رو در صورت امکان هرچه زودتر بزارید چون من باید یک پروژه با vb.net بنویسم به عنوان پروژه پایانی و هیچ چیز هم از این برنامه نمی دونم. با گذاشتن ادامه این مطالب کمک بزرگی به من می کنید. با تشکر فراوان connect11th December 2010, 05:34 PMبه تاريخ پست هم يه نگاه بياندازيد :(( سوران خوب23rd December 2010, 12:59 AMبرنامه c# داره سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3157]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن