mojtaba rakhisi
mojtaba rakhisi
خواندن ۱ دقیقه·۳ سال پیش

از افلاطون تا شی گرایی


جناب افلاطون معرف حضور همه هست این فیلسوف بزرگ یک نظریه ی بسیار بسیار معروف داره به نام عالَمِ مُثُل یا ایده ها یا theory of forms
این ایده چی میگه؟
میگه هرچیزی که ما میبینیم تسجمی از یک ایده هست که در دنیای فرم ها و ایده ها وجود داره. ‏یه مثال برای درک بهتر موضوع : هیچ دوتا اسبی توی دنیا دقیقا مثل هم نیستن بالاخره یه سری تفاوت های ریز دارن ولی هرکسی که همچین موجودی ببینه میگه این اسبه ! نمیگه یوزپلنگه... چرا ؟ چون ما یه تصویر کلی از اسب داریم. یا مثلا قناد ها یه قالب شیرینی آدمکی دارن ‏با اون قالب همیشه شیرینی میسازن ولی هیچوقت دوتا شیرینی آدمکی شبیه هم نیستن! اون قالب، همون ایده یا فرم یا مُثُل هستش که منظور افلاطون بود!
دقیقا توی برنامه نویسی و مبحث انتزاع و abstraction و چند ریختی یا polymorphism همین قانون حاکمه...
یک abstract کلاس ساخته میشه و چندتا ‏کلاس دیگه از اون ساخته میشه یا یه interface وجود داره و چندتا کلاس میتونن از اون implement کنن حالا هرکدوم اون فرم کلاس رو یه جوری دارن پیاده سازی میکنن یا مثلا یه کلاس وجود داره و چندین نمونه یا instance از اون ساخته میشن شاید اطلاعات اونا در همون لحظه ی ساخت ‏یکسان باشه ولی اطلاعات میتونه جداگانه توی runtime عوض بشه و اینکه هرکدوم از این نمونه ها یا آبجکت ها در یک قسمتی از حافظه ذخیره شدن و آدرس هرکدوم متفاوته . ‏البته
شما هیچوقت نمیتونید یک کلاس abstract دیگه از همون مدل بسازید ولی بی نهایت کلاس میتواند از اون الهام بگیره و نمونه های خودشو بسازه
همونطوری که یه قالب دیگه ی شیرینی نمیتونی بسازی ولی بی نهایت شیرینی آدمکی مثل همون بسازی

پایان

برنامه نویسیافلاطونoopabstractionpolymorphism
عاشق برنامه نویسی و فلسفه و هنر و روانشناسی
شاید از این پست‌ها خوشتان بیاید