您现在的位置:首页 > 教案格式 > 正文

数组换位置一.介绍 PHP(外文名:PHP: Hyperte(20)

2018-02-02 05:05 网络整理 教案网

继承:一个类从另一个已有的类获得其特性,称为继承

派生:从一个已有的类产生一个新的类,称为派生

父类/子类:已有类为父类,新建类为子类。父类也叫“基类”,子类也叫“派生类”

单继承:一个类只能从一个上级类继承其特性信息。PHP和大多数面向对象的语言都是单继承模式。C++是多继承

扩展:在子类中再来定义自己的一些新的特有的特性信息(属性,方法和常量)。没有扩展,继承也就没有意义了

public:公开的,可以在“任何位置”访问。

protected:受保护的,可以在当前类或当前类的上下级具有继承关系的类中访问。

private:私有的,只能在其所在的类中访问

<?php
class C1{
  public $test_public = ‘test_public‘;
  protected $test_protected = ‘test_protected‘;
  private $test_private = ‘test_private‘;
  public function func(){
    echo $this->test_public;//可以访问
    echo $this->test_protected;//可以访问
    echo $this->test_private;//可以访问
  }
}
class C2 extends C1{
  public function func(){
    echo $this->test_public;//可以访问
    echo $this->test_protected;//可以访问
    echo $this->test_private;//不可以访问
  }
}
$o1 = new C1();
$o2 = new C2();
$o1->func();
$o2->func();

echo $o1->test_public;//可以访问
//echo $o1->test_protected;//不可以访问
//echo $o1->test_private;//不可以访问

parent通常用于在子类中调用父类的成员的时候使用,多数通常就是使用父类的“静态类”成员。因为parent代表的类,而非对象。

<?php
class C1{
  public $v;
  function __construct(){
    $this->v = 1;
  }
}
class C2 extends C1{
  public $v2;
  function __construct(){
    parent::__construct();
    $this->v2 = 1;
  }
}
$o2 = new C2();
echo $o2->v;//1

重写就是将从父类继承下来的属性或方法重新定义

重写的方法权限应不低于父级权限(私有方法不能被覆盖,而是在子类中当做全新的使用)

方法的参数应该跟父类的一致(构造方法参数可以和父类不一致)

<?php
class C1{
  function func1(){
    echo 123;
  }
}
class C2 extends C1{
  //protected function func1(){
  //  echo 456;
  //}//会报错
  ////function func1($v1){
  //    echo 456;
  //}//会报错
  function func1(){
    echo 456;
  }
}