آموزش برنامه نویسی شی گرایی در PHP
سلام
دوستان تصمیم گرفتم آموزش شی گرایی PHP رو برای کاربران P30World شروع کنم امیدوارم مفید باشه :n16:.
خیلی کلمات کلیدی رو ترجمه نمی کنم چون آموزش خیلی بهم میریزه .
اگر مشکلی بود درون موضوع جدید بنویسید تا با هم حل کنیم . فقط تمرین هاتون رو که می گم همین زیر بفرستید تا دوستان با سبک ها مختلف کد نویسی آشنا بشن .
ارث بری کلاس ها از یکدیگر
سلا م
بابت تاخیر یک روزه شرمنده سر پروژه تیم خودمون بودم :n20: حالا تو بخش نمونه کار میزارم .
خوب امروز بریم سراغ ارث بری یا Inheritance که خیلی کاربرد داره و با یک مثال ساده شروع می کنیم .
در نظر بگیرید که هر وسیله نقلیه نه موتورسیکلت ها :n15: دارای 4 چرخ و دارای یک اتاق و موتور می باشند ولی شکل های مختلقی دارند اما همه 4 چرخ یک اتاق و موتور را دارند و ما الگویی برابر با مقادیر مختلف داریم . پس برای ساخت یک RD از روی پیکان مهندسین ایران موفق شدند که کاملا از 2 کلاس مختلف پژو 405 و پیکان عزیز استفاده کنند و هیچ متغیری رو جابجا نکنند .
خوب برای شروع Inheritance ما در ابتدا یک کلاس و یک متد طبق روال همیشگی ایجاد می کنیم .
[PHP]class car {
var $wheels = 4; var $doors = 4;
function wheelsdoors() {
return $this->doors + $this->wheels;
}
}[/PHP]
در مثال بالا ما یک کلاس به نام car ساختیم و مقادیر wheels و doors را در داخل آن قرار دادیم و در ادامه یک متد ساختیم که تعداد چرخ و در های ماشین ما را با هم جمع می کند .
حالا نوبت به ساخت کلاس وارث ماست .
[PHP]
class car {
var $wheels = 4; var $doors = 4;
function wheelsdoors() {
return $this->doors + $this->wheels;
}
}
class compactCar extends car { var $doors = 2;}
[/PHP]
نکته : برای ساخت ارث بری ایتدا کلاس را ساخته و نام آنرا انتخاب می کنیم و بعد از نام کلاس کلمه کلیدی extends را آورده و نام کلاس والد که قرار است از آن مقادیر را ارث ببریم وارد می کنیم .
در کد بالا کلاس compactCar تمام مقادیر خود را از car به ارث برده اما این بار ماشین ما 2 در دارد .
نکته : می توانیم مقادیر را در ارث بری تغییر دهیم و مقادیر جدیدی قرار دهیم .
در کد زیر ما 2 شی ساختیم و مقادیر خود را چاپ کردیم .
[PHP]
<?php/** * Created by PhpStorm. * User: Pedram Marandi * Date: 19/07/14 * Time: 6:49 AM */
class car {
var $wheels = 4; var $doors = 4;
function wheelsdoors() {
return $this->doors + $this->wheels;
}
}
class compactCar extends car { var $doors = 2;}$car1 = new car();$car2 = new compactCar();
echo $car1->wheels ."<br />";echo $car1->doors ."<br />";echo $car1->wheelsdoors(). "<br />";
echo $car2->wheels ."<br />";echo $car2->doors ."<br />";echo $car2->wheelsdoors(). "<br />";
?>
[/PHP]
نتیجه بالا باید چیزی شبیه به زیر باشد :
خوب این هم از ارث بری ما در آموزش بعدی به خصوصی سازی متد ها و متغیر ها می پردازیم .
پدرام مرندی