یکی از ویژگیه مهم و بزرگ در برنامه نویسی شی گرا مبحث ارث بری می باشد .
به معنیه : توسعه ی یک شی و ایجاد شی ای جدید.
شی جدید میتونه تمام قابلیت های کلاس مادر خود رو حفظ کنه و حتی آن را توسعه بده .
یعنی چیزهایی بهش اضافه کنه یا حتی متد ها یا پروپرتی های کلاس مادر را بازنویسی کنه.
به مثال زیر توجه نمایید :
class HTML { protected $name; protected $id; protected function basicAttribute() { echo "name='$this->name' id='$this->id'"; } }
Class HTML_div extends HTML { public function __construct($id, $name) { $this->id = $id; $this->name = $name; } public function getDiv($content) { $basicAttribute = $this->basicAttribute(); echo "div $basicAttribute $content div"; } }
Class HTML_span extends HTML { public function __construct($id, $name) { $this->id = $id; $this->name = $name; } public function getSpan($content) { $basicAttribute = $this->basicAttribute(); echo "span $basicAttribute $content span"; } } $html = new HTML(); $html_div = new HTML_div(1,'learnYii'); $html_span = new HTML_span(2,'learnPhp'); echo "class html_div run :"."br"; $html_div->getDiv("www.goyii.ir"); echo "hr"; echo "class html_span run :"."br"; $html_span->getSpan("www.php.org"); echo "hr";
در اصطلاح به کلاس اول سوپر کلاس و به کلاس دوم که از کلاس اول ارث برده است ساب کلاس میگویند.