سلام من راستش درست نفهمیدم برنامه نویسی شی گرا چیه ؟ میخوام بدونم آیا مثلا دکمه ها در برنامه جز اشیا اند یا نه ؟
اصلا شی چیه ؟ و کلاس چیه ؟ در آخر هم چه ارتباطی بین کلاس و شی وجود داره؟
هر کسی میتونه خیلی راحت توضیح بده ممنون میشم
سلام من راستش درست نفهمیدم برنامه نویسی شی گرا چیه ؟ میخوام بدونم آیا مثلا دکمه ها در برنامه جز اشیا اند یا نه ؟
اصلا شی چیه ؟ و کلاس چیه ؟ در آخر هم چه ارتباطی بین کلاس و شی وجود داره؟
هر کسی میتونه خیلی راحت توضیح بده ممنون میشم
جالبه ایت سایت اسمش برنامه نویسیه ولی این جور که معلوم هنوز کسی از مفاهیم پایه ای سر در نمیاره!!!
نمیخوام توهین کنم ولی . . . . . . . فکر کنم باید همتون که در برنامه نویسی مدعی هستید یه بار دیگه از اول شروع به خوندن برنامه نویسی کنید . . . . .
با خودم گفته بودم این سوالات برای شماها اسونه ولی. . . . .
(البته من اینترنتو گشتم ولی خیلی خوب توضیح نداده بودن. . . . . . )
سلام،
اینترنت خوب توضیح می ده شما باید تسلط کافی بر درک مطلب انگلیسی داشته باشید تا متوجه توضیحات در مورد شیءگرائی بشید.
همه چیز در جهان پیرامون ما متعلق به دسته ای خاص است مثل دسته مایعات، جامدات و گازها. مایعات، جامدات و گازها همه متعلق به دسته مواد هستند پس در ماده بودن مشترک هستند. اگر ما برای مواد خواصی قائل شویم مثل جرم و حرکت ، آن را اینچنین تعریف می کنیم:
class Material
{
int mass;
void Move (3DPoint From, 3DPoint To);
}
Move همان حرکت است و mass همان جرم. mass یک خاصیت است و Move یک رفتار.
من فقط یکی از خواص مواد را که جرم است در این دسته یا طبقه یا کلاس تعریف کردم هر چیزی که علم فیزیک به وجود آن قائل است را می توانیم به این کلاس اضافه کنیم. تا اینجا مفهوم کلاس معلوم شد. کلاس یعنی دسته یا طبقه ای خاص از پدیده ها که دارای خواصی هستند که همان خواص باعث شده آنها در طبقه ای منحصر به فرد قرار گیرند.
اگر بیاییم کلاس مایعات را تعریف کنیم چون مایعات ضمن اینکه خودشان خصوصیات خاصی دارند جزو کلاس مواد هستند پس ماده بودن را از کلاس ماده یا Material به ارث می برند یعنی مفهوم توارث یا Inheritance:
class Water:Material
{
}
آب یک مایع است و ماده بودنش را از کلاس Material به ارث برده. تفاوت کلاس و شیء در این است که کلاس فقط یک تعریف است که در جهان واقع عینیت پیدا نکرده و هنوز در حد تصور باقی مانده است. اگر پدیده ای در جهان واقع وجود داشته باشد که متعلق به یک دسته یا کلاس خاص باشد در این صورت به آن پدیده شیء می گوئیم. آن پدیده چون وجود دارد و متعلق به دسته ای خاص است شیء نام می گیرد.
معنی برنامه نویسی شیء گرا این است که در این نوع برنامه نویسی تمام چیزی که ما با آن سر و کار داریم شیء است یعنی متعلق به طبقه ای خاص است. فواید آن را در منابع فراوانی می توانید پیدا کنید.
مفهوم بعدی مفهوم کپسوله کردن یا Encapsulation است. Encapsulation بدین معنی است که یک کلاس مکانیزم عملکرد داخلی اش را از جهان خارج پوشیده نگه می دارد مانند جعبه سیاه هواپیما یا موتور پژو 206. هر کدام از اعضاء یک کلاس (منظور فیلد ها، متدها و سایرین) دارای یک سطح دسترسی هستند:
public عمومی
private محرمانه یا خصوصی
protected محافظت شده
internal داخلی
اگر عضوی از یک کلاس محرمانه باشد جهان خارج به آن دسترسی نخواهد داشت. این یعنی کپسوله کردن آن عضو.
مفهوم بعدی چندریختی یا Polymorphism است به این معنی که یک متد می تواند تحت عنوان یک نام رفتارهای متفاوتی داشته باشد که البته معیار تفکیک نوع پارامترهای ورودی متد است که نباید دقیقاً نمونه ای از آن وجود داشته باشد مانند تابع Sum در اکسل که تحت یک نام هم داده های اعشاری را جمع می کند و هم صحیح.
توضیحات بیشتر را سعی کن از گوگل بدست بیاری مثل جستجو با کلید واژه Fundamentals of Object Oriented Programming
بعد از سوال کردن چند روز صبر کنید اگر جواب ندادند بعد تمام سایت رو به رگبار ببندید!
آخرین ویرایش به وسیله tooraj_azizi_1035 : سه شنبه 03 خرداد 1390 در 08:38 صبح
اولا تشکر میکن از اقا تورج . . . . . من چون میخوام شی گرایی رو کاملا بفهمم این قدر حساس شدم. . . . . و نمیخوام مثل خیلی از برنامه نویسها که هنوز نمیدونن شی گرایی چیه و فقط میدونن مثلا اساس کار وی بی شی گراییه باشم . . . . . مثل کسی که بدونه اساس ریاضی جمع و تفریق و ضرب و تفسیمه ولی هنوز جدول ضربو بلد نیست. . . . . مرسی از توضیحاتت . . . . راستش من توضیحات ویکی پدیا در مورد شی گرایی خوندم و یه چیرایی فهمیدم . . . . . از یه جا هم پرسیدم آیا دکمه ها و جعبه متنها در برنامه نویسی یه جور شی به حساب میاد که متاسفانه بین اساتید اونجا اختلاف پیش اومد . . . . . یه عده میگفتن اصلا ربطی نداره ولی یه عده گفتن مثلا دکمه ها تا زمانی که روی فرم نیومدن کنترل نام دارن ولی زمانی که روی فرم میان شی حساب میشن . . . . .ممنون میشم کمی توضیح بدید!!!
برنامه نویسی شی گرا همون برنامه نویسی مبتنی بر شی هست یعنی شما واسه پیاده سازی یک سیستم باید اول بگردی اشیا یا موجودیت های یک سیستم پیدا کنی مثل کارمند مثل مشتری - کاربر و .... بعد هرکدام از این موجودیت ها یک سری توابع و متغییر های دارند مثل واسه یک کارمند تابع درج مشخصاتش توی بانک اطلاعاتی .بعد اینا رو که رو کاغذ پیاده سازی کردی میای مثلا یک کلاس به نام کارمند ایجاد میکنی این توابع و متغییر ها رو به همراه شاید یک سری پارامتر توی این کلاس تعریف میکنی .بعد مثلا برای هر کارمند یک شی از این کلاس ایجاد میکنی که میتونی از متغییر هاش استفاده کنی - اونا رو مقدار دهی کنی و یا توابعش صدا بزنی و....
انگار یک شی کمک میکنه یک کارمند جدید رو شبیه سازی کنی و یک کلاس یک الگو از یک کارمندمیشه در نظر گرفت
خود Component یک کلاس هست من گفتم همه چیز کلاسه.
این سینتکس کلاس کامپوننت هست.
public class Component : MarshalByRefObject, IComponent, IDisposable
به استیدتان این منبع رو نشون بدید:
http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx
سلام جناب
شي گرايي چيزي نيست كه بشه اينجا توضيح داد يعني خيلي سخته وقت هم زياد ميبره ولي ي ي.......
شي گرايي چند بخش مهم داره كه دنبال اونا باش
1-نحوه تعريف كلاس ها
2-فهم مفهوم شي (صفت ها(attribute or properties) و رفتارها(متد يا همان تابع))
3-انواع فراخواني و استفاده شي براي كلاس
5-انواع اعلان تابع در براي براي كلاس
6-سطوح دسترسي (private-public-protected)
7-سازنده و مخرب
8-سر بار گذاري(ابزار پياده سازي چند ريختي)
9-ارث بري
يك pdfبه زبان انگليسي هم ميزارم كه اگه به خواي كاملا حرفه اي درك كني حتما دانلودش كن
به چند تا سرور اپلود ميكنم كه مشكلي نباشه
Object-Oreinted Programking in c
.:: دانلود از سرور 1 ::.
.:: دانلود از سرور 2 ::.
.:: دانلود از سرور 3
آخرین ویرایش به وسیله dr3dr3 : سه شنبه 10 خرداد 1390 در 12:49 عصر
خیلی ممنون ازتون . . . .شرمنده که در اول پست بد حرف زدم با این توضیحات و اون پی دی اف اخر خیلی از مطالب شی گرایی رو فهمیدم . . . .بازم ازتون عذر میخوام
اگه یه فایل داشته باشی و روی چند تا سی دی رایتش کنی . اون فایله حکم کلاس و فایل هایی که روی سیدی رایت شده همراه با خود سی دی ها حکم شی رو دارن فکر کنم مثال خوبی بود...
سلام
ممنون
چه توضیحات کامل و جامعی بودن خدا وکیلی کلی فکم بسته شد
واقعا ممنون
این فابل برنامه نویسی به سبک شیگرایی را به نحو احسن توضیح داده http://www.google.com/url?sa=t&rct=j...XyG5PNc-peT_Lw
کل مفاهیم شی گرایی
در این آدرس است
http://s6.picofile.com/file/81841573...ction.rar.html
برای یادگیری مفهوم شی گرایی هم از مطالب این سایت میونی استفاده کنی هم چندتا لینک برای میزارم که مطالب خوبی دارن:
http://stackoverflow.com/questions/3...mming-language
امیدوارم بدردت بخوره