قای hidensoft خیلی ممنون بابت تاپیک خوبتون
خیلی قشنگ هم یاد گرفتم
فقط در بحث وارثت و.. نگفتین به چه دردی میخره و چه کاری هایی میشه انجام داد
اگه میشه یه مثال بزنید
ببینید به عنوان مثال ما می خوایم کلاس هایی با اسم یه سری حیوان بسازیم و حرکات این هارو پیاده سازی کنیم. به عنوان مثال حیوانات شیر ، گوسفند ، تمساح. به این کد نگاه کنید.
<?php
class Lion{
function Attack(){}
function Eating(){}
function Runing(){}
}
class Sheep{
function Eating(){}
function Walking(){}
}
class Alligator{
function Attack(){}
function Eating(){}
function Crawl(){}
}
?>
همونطور که میبینید تابع Eating در بین تمام حیوانات تکرار شده. حالا برای جلوگیری از duplicate شدن کد میایم و یه کلاس مادر در نظر میگیریم که لازم نباشه این تابع توی همه کلاس ها تکرار بشه. حالا به این کد نگاه کنید.
<?php
class Animal{
function Eating(){}
}
class Lion extends Animal{
function Attack(){}
function Runing(){}
}
class Sheep extends Animal{
function Walking(){}
}
class Alligator extends Animal{
function Attack(){}
function Crawl(){}
}
?>
حالا تمام حیوانات از کلاس مادر که Animal هست تابع Eating رو به ارث می برند و دیگه نیاز نیست که برای تمامشون یک تابع رو تکرار کنیم. اما همونطور که میبینید تابع Attack هم بین شیر و تمساح مشترک هست. پس میایم یه کلاس دیگه اضافه می کنیم که این تابع رو در خودش داشته باشه و کلاس شیر و تمساح ازش ارث ببرند.
<?php
class Animals{
function Eating(){}
}
class Predator_Animals extends Animals{
function Attack(){}
}
class Lion extends Predator_Animals{
function Runing(){}
}
class Sheep extends Animals{
function Walking(){}
}
class Alligator extends Predator_Animals{
function Crawl(){}
}
?>
سوالی بود در خدمتم.