• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کاربرد class چیه؟
#1
Wink 
من با PHP اشنایی خوبی دارم اما در مورد کلاس هیچی!Huh!
(در حال حاضر هم فکر می کنم PHP بدون Class می تونه کارم رو راه بندازه)
فقط یه سوال کلاس چیه و کاربردش چیه؟ (کاربرد کاربردی! شنیدم مثل ارتباط بیرون با دنیای برنامه نویسی و این طور تئوری ها)
  پاسخ
تشکر شده توسط :
#2
Google, please use me, please please
غایب
  پاسخ
تشکر شده توسط : Reza
#3
(۱۳۹۱ تير ۳۱, ۰۷:۵۵ ب.ظ)miladr24 نوشته: فقط یه سوال کلاس چیه و کاربردش چیه؟

قدیما یه مقاله برا کلاسها تو php نوشته بودم
خواستی یه نگاه بش بنداز Big Grin

مقدمه ای بر برنامه نویسی شی گرا

Big Grin
W H A T E V E R   Sleepy 
  پاسخ
تشکر شده توسط :
#4
یه جواب خوب نیست؟
راستی اینکه من از کلاس php استفاده نکرده ام یعنی اینکه من از امکانات شی گرایی که این همه برنامه نویسی های مجهز به اون بهش افتخار می کنند استفاده نکرده ام؟
خدای من!
  پاسخ
تشکر شده توسط :
#5
نقل قول:یه جواب خوب نیست؟

ببین!

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

یک برنامه حسابداری فروشگاهی رو در نظر بگیر...
این برنامه بخش های مختلفی داره (زیر سیستم های مختلف)، مثل فاکتور!

فاکتور آقای عباسی یک شیء هست که از کلاس فاکتور ساخته شده...

کلاس فاکتور شامل متدهای (فانکشن های):

اضافه کردن اقلام
حذف اقلام
و متدهایی مشابه هست

و همچنین کلاس فاکتور شامل خصوصیت های (متغیرهای):

نام خریدار
تاریخ
تلفن خریدار
شماره اشتراک
و غیره هست

شما تصور کن شما میتونی برنامه بالا رو در قالب غیر OOP (شی گرا) هم بنویسی، اما چرا نیایم این همه چیز مرتبط به هم رو در قالب یه کلاس گرد هم نیاریم که یه سیستم منسجم درست بشه و یه شیء مناسب ازش مشتق بشه؟

اینطوری با اجرای یک تابع و اتمام روال آن سیستم خصوصیت های خودش رو از دست نمیده و بارها و بارها در زمان حیات شیء قابل استفاده هست و متد های گوناگون به راحتی بر روی اجزای سیستم تأثیر میزارن و اون رو فرم دهی میکنن و از دوباره کاری ها جلوگیری میکنن...

تا حالا به گزینه new تو مایکروسافت ورد دقت کردید؟ به ازای هر کلیک روی این گزینه یه صفحه جدید باز میشه و شما میتونی چندین سند رو در کنار هم تایپ کنید...
حالا اینطوری بگیم که: به ازای هر کلیک روی لینک new یک شیء جدید از کلاس Doc ایجاد میشه بنام های Doc1 , Doc2,Doc3 ,...
چنین چیزی جز با مفهموم شیء گرایی ممکن نیست... میتونی هزاران شیء اینطوری تو کامپیوترت پیدا کنی...

سعی کردم ساده بگم، امیدوارم بدردت خورده باشه...
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط : pary_daryayi M.J boBak miladr24 azadmol
#6
آقا حمید توضیحات کامل رو دادن ولی من هم تا چند وقت پیش مثل شما نمیدونستم کاربرد کلاس چیه و هیچ هم درست جوابمو نمیداد(البته نه در اینجا). سوال اصلیم این بود که اگه مزیت کلاس اینه که چندین بار ازش استفاده بشه ، خب تابع هم کارش همینه ....
تا این که دل به دریا زدم ( چون پری دریایی هستم ) و شروع کردم .
مثلا من 3 تا جدول داشتم در پایگاه . جدول managment، جدول prudoct و جدول person
برای هر کدوم کلاسی جداگانه ایجاد کردم .
مثلا برای جدول person ؛ حذف افراد ، ویرایش اطلاعات افراد ، اضافه کردن فرد جدید ، سلکت یک شخص خاص و .....
علاوه بر مزیتهایی که آقا حمید گفتن ، برای من این استفاده ی جالبی بود که وقتی تو چندین صفحه نیاز به این کدها و کوئری ها داشتم ، کوئری دیگه نمینوشتم و از کلاس ایجاد شده استفاده میکردم....
شما فرض کن کلاس نبود ، هی کد ... هی کوئری ...
وقتی شروع کنید، دیگه از روش قبلی بیزار میشید ... من که بیزار شدم ....
خلاصه اینکه کلاس خیلی باهاتون مهربونی میکنه ...Tongue
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط : hamid_80386 miladr24
#7
ببنید شما قطعاً در حال طراحی و نوشتن یک اسکریپت هستین .
این اسکریپت شما با کاربر نهایی کار میکنه ، کاربری که هیچی از برنامه نویسی لازم نیست بدونه .

اما برنامه نویسی شی گرایی با برنامه نویس کار داره .
برای اینکه برنامه با برنامه نویس حرف بزنه . و توسعه راحتتر و آسونتر و مرتبتری باشه .
در اول کار با شی گرایی قطعاً معدود سوالات شما اینه که ، "خب این به چه دردی میخوره ، میتونم یه تابع بنویسم براش" اما وقتی کم کم مسلط بشین از شی گرایی لذت میبرین و با برنامه تون حرف میزنین (تجربه کردم که میگم .)

موفق باشینHeart
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : hamid_80386 miladr24
#8
من مقاله رو خودنم تو مثال ص 15 کد ها خطای:

Catchable fatal error: Object of class Demo could not be converted to string in D:\Milad\EasyPHP\www\class.Demo.php on line 4

رو میدن.
  پاسخ
تشکر شده توسط :
#9
چون یادگیری ماها به صورت آکادمیک نیست خیلی طول می کشه (شایدم اصلآ) تا به مباحث مهندسی نرم افزار اهمیت بدیم
ماها برای یادگیری برنامه نویسی، گرامر یک زبان رو یاد می گیریم و سعی می کنیم یه برنامه نویسی کنیم درحالی که از مهندسی نرم افزار اصلا خبر نداریم. درواقع ماها برنامه نویس نیستیم بلکه فقط کدنویسیم.
تابع یا کلاس جزو مباحث مهندسی نرم افزار هستند. یعنی توی مهندسی نرم افزار دیده شده که می بایست تابع، کلاس و شی وجود داشته باشن. مثه همین استفاده مجدد کد یا انتشار برنامه یا بروز رسانی یا ....
برای همینه که ماها اصلآ نمی فهمیم که کلاس و تابع برای چیه! فقط عادت می کنیم که استفاده کنیم
  پاسخ
تشکر شده توسط : hamid_80386 Reza
#10
سایت w3Schools هیچی در مورد کلاس نگفته، یه اموزش خوب مثل سایتی که گفتم یا یه اموزش معتبر فارسی سراغ ندارید؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان