ارث بری از کلاس یا شی در opp php قسمت دوم

در ادامه بحث ارث بری:

  1. برای دسترسی و اعمال قالبیت های متدی که باز نویسی شده از parent:: استفاده میشه.
  2. برای دسترسی به متد ها و پروپرتی های سوپر کلاس باید از parent:: استفاده کرد
    parent::sayHello();
  3. نکته مهم برای کلاس هایی که از کلاس دیگری ارث می برند : نباید متد کانستراکتور ایجاد کرد
  4. ساب کلاس ها میتونن از متد ها ای که پابلیک یا پرایویت هستن ارث ببرن
    subclass inheritance all public and protected method from superclass

مثال:
 

class A {
  function example() {
    echo "I am A::example() and provide basic functionality.<br />\n";
  }
}

class B extends A {
  function example() {
    echo "I am B::example() and provide additional functionality.<br />\n";
    parent::example();
  }
}
$b = new B;
// This will call B::example(), which will in turn call A::example().
$b->example();

نحوه ی جلوگیری از دوباره نویسی یک متد در سوپرکلاس

اگر برای هر متدی که نمی خواهید دوباره نویسی شود کلمه ی کلیدی
final را قرار دهید .
کلاس هایی که از کلاس مذکور ارث می برند نمی توانند آن متد را دوباره نویسی کنند

مثال:

class SuperClass {
  public final function someMethod() {
//..something here
  }
}
class SubClass extends SuperClass {
  public function someMethod() { // متد های سوپر کلاس اگر با کلمه کلیدی final  
// نوشته شوند غیر قابل دوباره نویسی هستند
// با  خطا مواجه می شود.
  }
}
// جلوگیری از ارث بردن کلاس
//preventing  from extending
// برای جلوگیری از ارث بری یک کلاس می توان از کلمه کلیدی  final  در تعریف کلاس استفاده کرد
final class aclass { 
}
class bclass extends aclass { // با خطا مواجه خواهد شد.  
}

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *