PDA

نسخه کامل مشاهده نسخه کامل : instance



Life24
04-05-2013, 21:16
سلام
منظور از instance در زبان های برنامه نویسی چیست؟ این instance با اون instance پایگاه داده فرقش جیه


ThreadTest tt = new ThreadTest(); // Create a common instance

Msba
05-05-2013, 17:02
در شی گرایی instance معنای جالبی دارد.
به این مثال توجه کنید:
اسم جنس، مانند تلویزیون.
شما می گویید من در حال دیدن تلویزیون هستم. اما نوع و مدل آن مشخص نیست. در واقع شما در حال دیدن یک نمونه از تلویزیون هستید. در یک مثال دیگر:
شما کتاب می خوانید. چه کتابی؟ کجاست؟ نویسنده؟ معلوم نیست(A). در واقع شما یک نمونه کتاب را می خوانید که مشخصات اصلی یک کتاب را دارد مانند جلد و ... که می شود بدان عنصر کتاب گفت.
در واقع کتاب وجود ندارد که بخواهید از آن استفاده کنید بلکه این نمونه ای از کتاب است که قابل استفاده هست.
کلاس هایی که static نیستند نیز دقیقا همین طوری هستند(اسم جنس هستند). در واقع با ایجاد یک instance یک نمونه از تعریف کلی یک کلاس به وجود می آید تا بتوان از آن استفاده کرد. در واقع با ارائه یک حافظه به کلاس( در توضیحات A) که یک نمونه از آن تهیه می کند.
در یک تعریف مشابه می توان این طور بیان کرد که یک کتاب مرجع وجود دارد که شما نمی توانید آن را امانت بگیرید و در آن تغییر ایجاد کنید پس ناچار مجبور به نمونه گیری هستید.
در کلاس هایی هم که static هستند:
اسم خاص، متعلق به یک شی مشخص.
در واقع ما یک حافظ بیشتر نداریم. پس اگر در مورد آن صحبت شود تمام ویژگی های شاعری آن به نظر می رسد. حتی اگر دروغی در مورد آن بیان شود مستقیما به حافظ بر می گردد و شخص دیگری این وسط دخیل نیست.
ما هیچگاه نمی گوییم که یک نمونه از حافظ هم ما اینجا داریم!!! این ها همان static ها هستند که همواره یک حافظه مشخص از مموری گرفته اند.

در مورد پایگاه داده منظورتان را مشخص نفهمیدم.

موفق باشید.

Life24
05-05-2013, 17:55
سلام

ممنون از پاسخ شما
با این حساب این instance همان شی ما نیست؟ object?

Msba
05-05-2013, 19:53
تا حالا خودم اینطوری بهش فکر نکرده بودم!
آیا یک نمونه از شی خاص نمی تواند یک شی باشد؟ (رفتیم در فلسفه!) من فکر می کنم می شود. پس آن هم شی هست. اما یک نمونه. تعریف ساده هست مسئله را پیچیده می کنید:n27:
از همان object هم طبق قانون ارث برده است. البته این مسئله ی instance با قضایای ارث بری ارتباطی ندارد ها!

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


موفق باشید.