PDA

View Full Version : سوال: چرا Object والد همه کلاس ها در C# است؟



محمد255
سه شنبه 29 فروردین 1391, 19:46 عصر
با سلام. سوالی داشتم: چرا Object والد همه کلاس ها در C# است؟ به عبارت دیگر علت ارث بری قطعی همه کلاس ها از Object چیست؟

با تشکر

Beginner2013
سه شنبه 29 فروردین 1391, 20:04 عصر
چون قرار بر این بوده که در C# هرچیزی یک شئ باشد و یه سری خواص و متدها را داشته باشد.شاید بهتر باشد درمورد مزایای شئ گرایی تحقیق کنید.

محمد255
پنج شنبه 31 فروردین 1391, 06:43 صبح
با تشکر. اگر توضیح دقیقتری بدهید ممنون میشم.

سوداگر
پنج شنبه 31 فروردین 1391, 08:29 صبح
شما اگر با C++‎‎ برنامه نوشته باشید می دانید که در C++‎‎ می توانستید در خارج از یک کلاس، متغیرها و متدهایی را تعریف کنید. خود متد Main هم از این قائده مستثنی نبود. بنابراین C++‎‎ یک زبان شیءگرای کامل به حساب نمی آمد. اما زبانی مثل جاوا و بعد از آن C#‎‎، اجازه ی چنین کاری را نمیدهند، در این زبانها همه چیز (به غیر از خود کلاس) باید جزئی از یک کلاس باشد و هر کلاس هم جزئی از یک فضای نام (در جاوا پکیج) است. حتی متغیرهایی مثل int و ... هم باید یک زیرکلاس باشند. اسم این کلاس والد، Object است که عمومی ترین چیزهایی که لازم داریم در آن پیاده سازی شده اند و پدر همه کلاسهاست. این کار چند خاصیت دارد که غالبا به خاطر مشتق شدن بقیه کلاسها از Object هست که می توانیم کارهایی مثل Boxing و Unboxing و ... را انجام دهیم.