当前位置:首页 > 代码学苑 > 网建教程

PHP面向对象 封装与继承

来源:php教程 作者: 2020-06-21

知识点:

php封装三个关键词:

一、public 公有的,被public修饰的属性和方法,对象可以任意访问和调用

二、private 私有的,被private修饰的属性和方法,只能在类内部的方法可以进行调用,或者被子类重写后用public才可以随意调用

三、protected 受保护的,被protected修饰的属性和方法,在父类和子类的方法都可以访问调用,不支持对象外部访问调用

php继承概念

php子类可以通过extends继承父类的属性和方法,再原有基础上添加或者重写属性方法,注意:php是单继承,即一个父类只能有一个子类,如果想一个父类被多个子类继承,需要使用接口。

一、子类继承父类的属性和方法,并非全部,被private修饰的方法和属性无法继承

二、子类方法或属性名如果与父类方法名一致,则进行了对远方法和属性的重写

三、关键词final 修饰的类名或方法无法被继承或重写

代码:

  <?php  header("Content-type:text/html;charset=utf-8");  error_reporting(E_ALL);  class people{  public $name;  public $age;  public function __construct($name,$age){  $this->name = $name;  $this->age = $age;  }  public function tellname(){  echo '我的名字是'.$this->name;  }  private function tellage(){  echo '我是年龄是'.$this->age;  }  }  $zhangsan = new people('张三',20);  $zhangsan->tellname();//输出成功  //$zhangsan->tellage();提示致命错误  echo "<br>";  class student extends people{  public $class;  public $sex;  public function tellname(){  echo '大家好,我的名字是'.$this->name;  }  public function tellage(){  echo '我的岁数是'.$this->age;  }  }  $xiaoming = new student('小明',15);  $xiaoming->tellname();//输出成功  $xiaoming->tellage();//重写后输出成功  ?>

页面提示:

<a href=http://m.iyoucaihua.com/e/search/result/?searchid=136 target=_blank class=infotextkey>php</a>面向对象 封装与继承

猜你喜欢
    无相关信息