PDA

View Full Version : در برنامه نویسی شی گرایی منظور از شی چیه؟



shahin69
چهارشنبه 01 فروردین 1397, 01:04 صبح
سلام من دارم برنامه نویسی (https://tosinso.com/gotorel/technichaltext/32786) شی گرا یاد میگیرم و چند تا سوال برام پیش امده ممنون میشم دوستانن راهنمایی کنم
در شی گرایی منظور از شی چیه؟ ایا منظور همون متغیر ؟
بعد در کد زیر منظور از this چیه؟
this->age = age

Farshid007
چهارشنبه 01 فروردین 1397, 07:56 صبح
تو برنامه شی گرایی شی مثل همون اشیا تو دنیای واقعی فرض می شن حالا این شی ما ویژگی هایی داره دیگه مثلا یک ماشین رو در نظر بگیرید این ماشین اسمش فلانه رنگش مشکی 700 اسب بخار قدرت داره و ... اینا همه ویژگی های این شی هستن که همه قرار میگیرن تو کلید واژه this
به عنوان مثال :


class car {
public $name;
public $color;
public $hp;

public function save_in_DB()
{
//code for save this car in database
$name=$this->name;
$color=$this->color;
$hp=$this->hp;
$query="INSERT INTO cars ($name,$color,$hp)";
//and ......
}
}


این یک نمونه بسیار ساده شی گرایی که ما ماشین تو دنیایی واقعی رو یک شی در نظر گرفتیم
حالا از این شی (کلاس ) نمونه سازی می کنیم:

$mycar=new car();
$mycar->name="BMW";
$mycar->color="Black";
$mycar->hp="750";
$mycar->save_in_DB();



امید وارم خوب توضیح داده باشم :)
البته مطلب در این زمینه خیلی هست سرچ کنید :)

shahin69
چهارشنبه 01 فروردین 1397, 17:41 عصر
ممنون از جوابتون فقط من درست نگرفتم هنوز
حالا name,color,hp که به رنگ مشکی نوشتید چی هستند ؟ که قبلش this گذاشتید؟

Farshid007
چهارشنبه 01 فروردین 1397, 18:01 عصر
تو قسمت اول که یک کلاس تعریف کردم به اسم car که حالا یک سری ویژگی ها داره : نام و رنگ و ...
تو قسمت دوم از این کلاس یک نمونه سازی کردم و به ویژگی هاش مقدار دادم و در نهایت متد ذخیره در دیتابیس رو فراخوانی کردم

کلید واژه this از اسمش هم مشخصه دیگه ویژگی ها متد ها و هر چیزی که مربوط به این کلاسی که داخلش هستیم رو واست برمیگردونه
از یک IDE خوب استفاده کنید که راحت بتونید کد بزنید مثل Adobe dreamweaer 2015

plague
چهارشنبه 01 فروردین 1397, 21:09 عصر
اگه همون مثال ماشین رو در نظر بگیری
کلاس مثل یه کارخونه تولید ماشینه توش باید تعریف کنی که چه مشخصاتی دارن ماشین ها (مثل رنگ و قدرت موتور و .... ) و چه کارهایی میتونه بکنه ماشین (مثل حرکت کردن - جابجا کردن بار - تصادف کردن و ... ) که به صورت متغییر و تابع مینویسیمشون تو کلاس

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


کلمه this به اون ماشین یا شی اشاره داره که داره ساخته میشه یا توابع رو فراخانی داره میکنه
مثلا شما داری کلاس رو میسازی میگی
یه ماشین رو بساز
به اون رنگ آبی بده
به اون 4 تا در بده
اگه پدال گاز اون رو فشار دادن حرکت کنه

کلمه اون یا this داره به اون به ماشین یا شی اشاره میکنه که تو اون لحظه داره ساخته میشه یا یکاری میکنه
مثلا اگه شما یه شی ماشین بسازی با پلاک 666 هروقت این ماشین یک تابع از کلاس رو فراخانی بکنی توی کلاس کلمه this به اون ماشین 666 اشاره داره


متغیر یه فضای حافظست که توش داده ذخیره میتونی بکنی این داده میتونه یه عدد باشه یا یک حرف باشه یا یک شی باشه ربطی به شی نداره

youamir9
پنج شنبه 30 فروردین 1397, 12:54 عصر
سلام به همه شما عزیزان
در وردپرس یک فرم رو دارم که حین اجرا این خطارو میگیره.
میشه لطفا راهنمایی بفرمایید.
خطا اینه
Warning: count(): Parameter must be an array or an object that implements Countable in E:\xampp\htdocs\wp-content\plugins\persian-gravity-forms\includes\class-multipage-navigation.php on line 24

Farshid007
یک شنبه 02 اردیبهشت 1397, 08:01 صبح
سلام به همه شما عزیزان
در وردپرس یک فرم رو دارم که حین اجرا این خطارو میگیره.
میشه لطفا راهنمایی بفرمایید.
خطا اینه
Warning: count(): Parameter must be an array or an object that implements Countable in E:\xampp\htdocs\wp-content\plugins\persian-gravity-forms\includes\class-multipage-navigation.php on line 24

سلام .بهتر بود یک تاپیک جدید ایجاد میکردید
خطا کاملا مشخص هست میگه که تابع count (که برای شمارش تعداد عناصر آرایه ها استفاده میشه) پارامتری که بهش دادید یک ارایه یا یک شی قابل شمارشی نیست
خوب باید ببینید چه پارمتری فرستادی به تابع