انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: مفهومی به اسم ؛شی گرایی؛  (دفعات بازدید: 16504 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین abbasalim

  • High Sr. Member
  • *
  • ارسال: 642
  • جنسیت : پسر
  • http://esfandune.ir/
    • اسفندونه
مفهومی به اسم ؛شی گرایی؛
« : 30 فروردین 1392، 12:13 ب‌ظ »
بنام خدا
سلام

جاتون خالی هفته پیش باید پروژه جاوامون رو تحویل استاد می دادیم
 همه بچه ها اومده بودن خوشحال وخندون  \\:D/
منتظره یه نمره کامل و خسته نباشیده این همه زحمتی که کشیدن

اومدن  که پروژه هامون رو ببینن با کمال تعجب به اکثریت کلاس فقط نصف نمره رو دادن

میگفتیم آخه چرا ما که کدهامون کامل اجرا میشه،حتی همه استثنا ها هم واسش تعریف کردم

میگفتن آخه کدهاتون شی گرا نیس  :o

همین دیگه همه  :'( گریون رفتیم خونه هامون  ](*,)



میخواستم بینم دقیقا این شی گرایی یعنی چی؟ یعنی کد چجوری باشه شی گراس؟

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #1 : 30 فروردین 1392، 01:00 ب‌ظ »
قبل از هر چیز برو یه فحش به اون استاد بی‌سوادت بده، بعد بیا برات تعریف کنم.

اومدی؟ خب این تعریف رسمی‌شه.
و جالبه بدونی که افراد زیادی با این شیوه‌ی برنامه‌نویسی مخالفن از جمله کسی که خودش این ایده رو داده بود. از جمله ی مخالفان این شیوه می‌شه به ادگار دکسترای بزرگ (خدای علم رایانه)، کن تامپسون (خالق یونیکس)، مرحوم دنیس ریچی فقید (خالق C و یونیکس)، کرانیگان (خالق C)، ریچارد استالمن (آخرین هکر واقعی و خالق GCC و سیستم‌عامل گنو)، لینوس تروالدز (خالق لینوکس و گیت)، روب پیکه (خالق UTF-8)، رابرت گریسمر (Go)، راس کاکز (Go)، اندرو جرارد (Go)، ریچ هایکی (Clojure)، جو آرمسسترانگ (Erlang, OTP)، سیمون پیتون‌جونز (Haskel, GHC)، پل گراهام (Arc, Disqus, Dropbox, reddit, Scribd) و… اشاره کرد. فکر کنم تا به حال متوجّه شده باشی که این‌ها اتّفاقاً تأثیرگذارترین افراد در دنیای رایانه هستن و هیچ کدومشون هم تابه‌حال برنامه‌ی شیٔ‌گرا ننوشتن. حالا این لیست رو هم ببر و به استادت نشون بده و بگو اگه می‌تونه به اون‌ها هم نمره نده
« آخرین ویرایش: 30 فروردین 1392، 01:05 ب‌ظ توسط دانیال بهزادی »
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #2 : 30 فروردین 1392، 01:05 ب‌ظ »
دانیال جان دوباره خاطرم رو از دانشجوی ترم آخر نرم افزار بگم؟

اومد گفت C شیء گرا نیست چون رابط گرافیکی همراهش نصب نمیشه :o و اصلا زبان خوبی نیست و کاملا منسوخ شده :o !!!!!

من فقط این شکلی بودم : :o .

از طرفی هم جاوا هم میدونم که کاملا شی گراست و غیر شی گرا نمیشه توش کدنویسی کرد! تو تاپیک معرفی زبان Go هم بحث جالبی در این باره شد :D .

بعدش چی فکر میکنید؟ این دانشجو لیسانسش رو میگیره و بعد تو دوره ارشد و دکترا میشه استاد. نهایتا هم کسانی زیر دستش تربیت میشن که میگن «ویندوزم مکه» «ویندوزم لینوکسه» «ویستا از ویندوز بهتره» و ... :o
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین abbasalim

  • High Sr. Member
  • *
  • ارسال: 642
  • جنسیت : پسر
  • http://esfandune.ir/
    • اسفندونه
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #3 : 30 فروردین 1392، 01:11 ب‌ظ »
اونوقت اینا رو به استاد بگم به نظرت دیگه راهی واسه پاس شدنش دارم؟  :-k :-k :-k #-o



آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #4 : 30 فروردین 1392، 01:14 ب‌ظ »
اونوقت اینا رو به استاد بگم به نظرت دیگه راهی واسه پاس شدنش دارم؟  :-k :-k :-k #-o

بعید میدونم ;D
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #5 : 30 فروردین 1392، 01:16 ب‌ظ »
اومد گفت C شیء گرا نیست چون رابط گرافیکی همراهش نصب نمیشه :o و اصلا زبان خوبی نیست و کاملا منسوخ شده :o !!!!!
=)) ترکیدم! ;D
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #6 : 30 فروردین 1392، 01:18 ب‌ظ »
و اما شی گرایی :

شی گرایی تکنیکیه که به این روش کارها ساده تر خوش فرم تر و سریع الاستفاده تر میشه. و حالا چیه
با یک مثال بزارید شروع کنم :
برای ساختن یک خونه یک نقشه لازمه.کلاسهای شی که مینویسیم مثل نقشه عمل میکنن و فقط شکل رو کاغذ اند و وقتی یک نمونه از شی بسازیم میشه خونه.و با اون نقشه میتونیم خونه های بسیاری رو بسازیم به همون شکل.

و حالا شی گرایی در جاوا با مثال :

یک کلاس به اسم ReturnName میسازیم با کد زیر :

public class ReturnName {

private String Name;

public ReturnName(String name){
Name = name;
}

public ReturnName(){
Name = null;
}

public void setName(String name){
Name = name;
}

public String getName(){
return Name;
}

}


این یک کلاس ساده با تکنیک شی گراست که توش سازنده و متد های set و get داریم

سازنده (constractor) چیست ؟

کد بالا رو قشنگ بخونید.سازنده متدیست که مقدار برگشتی نداره و برای مقدار دهی اولیه استفاده میشه.
کلاس theMain رو به عنوان کلاس اصلی که تابع main  توش هست میسازیم با کدهای زیر :

public class theMain {

public static void main(String[] args){

ReturnName rn1 = new ReturnName();
ReturnName rn2 = new ReturnName("Ubuntu forums");

System.out.println(rn1.getName());
System.out.println(rn2.getName());
}
}


این کلاس تو تابع main  دو شی از نوع ReturnName تعریف میکنه که اولیش مقدار اولیه نداره و دومیش با مقدار "ubuntu forums" مقدار دهی شده. دقیقا کدهای زیر این کارو تو تابع main کردند :

ReturnName rn1 = new ReturnName();
ReturnName rn2 = new ReturnName("Ubuntu forums");

خب حالا برمیگردیم سر کلاس ReturnName :

تو اون کلاس کدهای پایین دو تا سازنده تعریف میکنن واسه کلاس.تعریف سازنده رو گفتیم.سازنده نباید نوع برگشتی داشته باشه و باید دقیقا همنام کلاس باشه و به هر تعذ=داد میتونه باشه اما پارامترهای ورودی هر شسازنده باید با دیگری فر ق کنه.سازنده ها تو اون کلاس با کدهای پایین تعریف شدند :

public ReturnName(String name){
Name = name;
}

public ReturnName(){
Name = null;
}

که دومی یک شی بدون پارامتر میسازه و اولی یک شی با یک پارامتر ورودی از نوع رشته!

خب حالا بقیشو خودت یاد بگیر.

اینارو:

وراثت و چند ریختی :)

اگه حوصلم اومد یه تاپیک تو انجمن درست میکنم و توضیح میدم یروز 8)
« آخرین ویرایش: 31 فروردین 1392، 10:31 ب‌ظ توسط داریوش عباسی »
I just felt like running

Altern AI Directory --- GitHub

آفلاین Mostafa Jalilianfar

  • High Hero Member
  • *
  • ارسال: 1085
  • جنسیت : پسر
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #7 : 30 فروردین 1392، 01:44 ب‌ظ »
شی‌گرا یک نگرش برنامه نویسیه و حالا تبدیل به یک مدل و استاندارد شده نه تنها در برنامه نویسی بلکه در مدلینگ - بانکهای اطلاعاتی - مستندسازی و ...
استاد شما شی‌گرا بودن رو با ویژوال بودن اشتباه گرفته
ولی من مثل بسیاری دیگه به شدت موافق سبک برنامه نویسی شی‌گرا هستم برخلاف دوستانی که دانیال بهزادی اسم برد
برنامه نویسی شی‌گرا خوبیهاش بسیار بیشتر از بدیهاشه. درسته که پیدا کردن راه حل و از سر گیری برنامه نویسی رو سخت می‌کنه ولی در کاهش مقدار کد موثره و برنامه رو قابل استفاده مجدد می‌کنه (البته برنامه نویسی ساخت یافته هم همین امکان رو داره) و به برنامه شکل و قالب درست و قابل درک میده

یادتون نره که برنامه نویسی شی‌گرا ۳ هدف رو دنبال می‌کنه
۱- کپسوله سازی
۲- ارث بری
۳- چند ریختی بودن

الان دیگه کمتر در مورد برنامه نویسی شی‌گرا حرف زده میشه چون نوع دیگه‌ای از برنامه نویسی رو داریم به اسم سرویس‌گرا.
هرچند برنامه نویسی سرویس‌گرا کاملا وابسته به شی هستش و باید از برنامه نویسی شی‌گرا استفاده بشه
به دلیل ترک انجمن لطفا با این ایمیل MustafaJF[at]Aol[dot]com تماس برقرار کنید و از پیام خصوصی استفاده نکنید

آفلاین fond

  • Full Member
  • *
  • ارسال: 144
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #8 : 30 فروردین 1392، 03:29 ب‌ظ »
قبل از هر چیز برو یه فحش به اون استاد بی‌سوادت بده، بعد بیا برات تعریف کنم.

اومدی؟ خب این تعریف رسمی‌شه.
و جالبه بدونی که افراد زیادی با این شیوه‌ی برنامه‌نویسی مخالفن از جمله کسی که خودش این ایده رو داده بود. از جمله ی مخالفان این شیوه می‌شه به ادگار دکسترای بزرگ (خدای علم رایانه)، کن تامپسون (خالق یونیکس)، مرحوم دنیس ریچی فقید (خالق C و یونیکس)، کرانیگان (خالق C)، ریچارد استالمن (آخرین هکر واقعی و خالق GCC و سیستم‌عامل گنو)، لینوس تروالدز (خالق لینوکس و گیت)، روب پیکه (خالق UTF-8)، رابرت گریسمر (Go)، راس کاکز (Go)، اندرو جرارد (Go)، ریچ هایکی (Clojure)، جو آرمسسترانگ (Erlang, OTP)، سیمون پیتون‌جونز (Haskel, GHC)، پل گراهام (Arc, Disqus, Dropbox, reddit, Scribd) و… اشاره کرد. فکر کنم تا به حال متوجّه شده باشی که این‌ها اتّفاقاً تأثیرگذارترین افراد در دنیای رایانه هستن و هیچ کدومشون هم تابه‌حال برنامه‌ی شیٔ‌گرا ننوشتن. حالا این لیست رو هم ببر و به استادت نشون بده و بگو اگه می‌تونه به اون‌ها هم نمره نده

منبعی برای این دارید؟
ممنون

آفلاین dr.b4ne

  • Sr. Member
  • *
  • ارسال: 265
  • جنسیت : پسر
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #9 : 30 فروردین 1392، 03:33 ب‌ظ »
آقا دانیال شی گرایی در جای خودش کاربرد داره ساخت یافته در جای خودش سرویس گرا در جای خودش (functional . . )(ترجمشو نمیدونم چی میشه . . .) در جای خودش . هر چیزی جای خودش . . .

در کل هر روش معایب و مزایایی داره که نسبت به این قضیه در جاهای مختلف از روش های مختلف استفاده میشه . . .

همین .

تعصب خوب نیست (اینو به دانبال نگفتم به همه میگم)

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #10 : 30 فروردین 1392، 03:54 ب‌ظ »
من تعصّبی ندارم روی شیٔ‌گرا نوشتن یا ننوشتن. حتا خودم هم از برنامه‌هایی که شیٔ‌گرا نوشته شده باشن استفاده می‌کنم (گرچه خودم هیچ‌وقت شیٔ‌گرا نمی‌نویسم). ولی این که از دانشجوی بیچاره نمره کم کنیم برای انجام کاری که بزرگان یک علم هم همون کار رو می‌کنن واقعاً به نظرم حماقت و تعصّب روی روش خودمونه.
منابعش هم یک سری این‌جاست و یک سری هم در PDF آموزشی زبان Go که فارسی‌اش توی همین انجمن وجود داره.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین dr.b4ne

  • Sr. Member
  • *
  • ارسال: 265
  • جنسیت : پسر
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #11 : 30 فروردین 1392، 04:01 ب‌ظ »
وقتی سیلابس درس برنامه نویسی پیشرفته در وزارت علوم بر مبنای برنامه سازی شی گرا گذاشته شده . حالا اگه من هم استاد بودم و دانشجوهام برنامه هاشون شی گرا نبود نمره نمیدادم . حتی اگر سرویس گرا مینوشتن . .

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #12 : 30 فروردین 1392، 04:08 ب‌ظ »
اینکه از دانشجو نمره کم کنیم برای اینکه تو یادگیری شی گرایی که بخش مهمی از برنامه نویسی با جاواست مشکلی که نداره هیچ، بایدم کم بشه!
« آخرین ویرایش: 31 فروردین 1392، 10:31 ب‌ظ توسط داریوش عباسی »
I just felt like running

Altern AI Directory --- GitHub

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #13 : 30 فروردین 1392، 04:16 ب‌ظ »
اگه قرار به رعایت استانداردهای وزارت علومه، در درس برنامه‌نویسی پیشرفته باید ++C درس داده بشه، نه جاوا! در ضمن همون طوری که گفتم من هیچ مشکلی با برنامه‌نویسی شیٔ‌گرا ندارم و مقصودم از ذکر اون نام‌ها هم ذکر این پرسش بود که اگه قرار باشه برای شیٔ‌گرا ننوشتن از کسی نمره کم بشه، پس به‌وجود آورندگان دنیای رایانه باید نمره‌ای زیر صفر می‌گرفتن؟ چون هیچ کدوم از برنامه‌نویسی شیٔ‌گرا استفاده نکردن.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
پاسخ : مفهومی به اسم ؛شی گرایی؛
« پاسخ #14 : 30 فروردین 1392، 04:18 ب‌ظ »
اگه قرار به رعایت استانداردهای وزارت علومه، در درس برنامه‌نویسی پیشرفته باید ++C درس داده بشه، نه جاوا! در ضمن همون طوری که گفتم من هیچ مشکلی با برنامه‌نویسی شیٔ‌گرا ندارم و مقصودم از ذکر اون نام‌ها هم ذکر این پرسش بود که اگه قرار باشه برای شیٔ‌گرا ننوشتن از کسی نمره کم بشه، پس به‌وجود آورندگان دنیای رایانه باید نمره‌ای زیر صفر می‌گرفتن؟ چون هیچ کدوم از برنامه‌نویسی شیٔ‌گرا استفاده نکردن.

این که ی عده استفاده نکردن اصلاً دلیل خوبی نیست.

دلیل منطقی بگید لا اقل این حرفا واسه ترولاست نه شما!!!!!!  ](*,)
I just felt like running

Altern AI Directory --- GitHub