php中类与对象的作用是什么

  

php中类与对象的作用是什么?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>简介

在php中,类型的继承使用扩展关键字,而且最多只能继承一个父类,php不支持多继承。

class  MyClass ,   {,   ,public  dat 美元;=,0;,   ,public  function  __construct (dat美元),{,   这→美元才能dat =, dat;美元,   }大敌;   ,public  function  getDat (), {,   return 才能;“这→美元dat \ n",,   }大敌;   },   class  MySubClass  extends  MyClass    {,   ,public  function  getDat (), {,   return 才能“dat:, $ this→dat \ n",,   }大敌;   },   a 美元;=,new  MyClass (3),,   b 美元;=,new  MySubClass; (4),   echo 美元→getDat ();,,//, 3,   echo  b→美元getDat ();,,//, dat:, 4

<强>方法覆盖

包括构造函数在内,子类可以重新定义同名的类方法以覆盖父类方法。覆盖时遵循以下规则:

1。除构造函数之外,其他函数在覆盖时,函数的参数列表必须相同

2。包括构造函数在内,方法被覆盖后,调用子类方法时并不会自动调用父类方法

3。如果父类要禁止方法被子类覆盖,可以使用最后来声明方法,这时如果子类仍要覆盖父类方法,将会出错

class  MyClass ,   {,   ,private  name 美元;=,““,   ,public  num 美元;=,0;,   ,public  str 美元;=,““,   ,public  function  __construct(名字),{,   这→美元才能name =,名称;美元,   这个美元才能→num =,, 100;   这个美元才能→str =,“none",,   }大敌;   ,public  function  getName (), {,   return 才能;这→美元名字,,   }大敌;   },   class  MySubClass  extends  MyClass    {,   ,public  function  __construct(名称、美元,美元str), {,   父:才能__construct($);,,,,//,调用父类方法,   这个美元才能→num =,“0”;,   这→美元才能str =, str;美元,   echo 才能;父:getName()干净\ n",,,,,//,调用父类方法,   }大敌;   ,public  function  getName (), {,   return 才能;父:getName()的管理者;$ this→str \ n",,//,调用父类方法,   }大敌;   },   $ b =, new  MySubClass (“myName",,真的),,,//,myName    echo  b→美元getName (),,,,,,,,,,,//, myName1    class  MyClass ,   {,   ,final  public  function  getName (), {,   }大敌;   }

<强>属性重定义

在子类中,可以访问父类中的公共和保护属性成员,除非重定义了同名的自有属性,这时,父类中的属性将无法访问。

方法则不同,子类对方法进行覆盖后,仍然可以访问到父类方法。

class  MyClass ,   {,=,public  a 美元;1;,=,protected  b 美元;2,,=,private  c 美元;3,,   ,public  function  f1 (), {,   echo 才能“MyClass  f1 \ n",,   echo 才能“\ $ a:这→美元,,\ b:美元$ this→b;, $ c: \ $ this→c; \ n",,   }大敌;   ,protected  function  f2 (), {,   echo 才能“MyClass  f2 \ n",,   echo 才能“\ $ a:这→美元,,\ b:美元$ this→b;, $ c: \ $ this→c; \ n",,   }大敌;   ,private  function  f3 (), {,   echo 才能“MyClass  f3 \ n",,   }大敌;   },   class  MySubClass  extends  MyClass ,   {,   ,public  b 美元;=,22,,   ,public  c 美元;=,33岁,,   ,public  function  f1 (), {,   echo 才能“MySubClass  f1 \ n",,//才能,继承到父类中美元的一个属性,直接使用,   echo 才能“\ $ a:这→美元,,\ b:美元$ this→b;, $ c: \ $ this→c; \ n",,//,才能调用父类中的同名方法,   父母才能:f1 (),,//才能,继承到父类中的f2()方法,直接使用,   这个美元才能→f2 ();,   }大敌;   ,//父类的f3()是私有的,这里的定义与父类无关,   ,public  function  f3 (), {,   echo 才能“MySubClass  f3 \ n",,   }大敌;   },   $ b =, new  MySubClass,   b→美元f1 (); echo “\ n",,/*,   MySubClass  f1    答:美元1;,$ b: 22;, $ c: 33;,   MyClass  f1    答:美元1;,$ b: 22;, $ c: 3;,   MyClass  f2    答:美元1;,$ b: 22;, $ c: 3;,   */,   b→美元f3 (); echo “\ n",,/*,   MySubClass  f3    */

php中类与对象的作用是什么