码迷,mamicode.com
首页 > Web开发 > 详细

PHP面向对象 封装与继承

时间:2017-05-28 16:47:54      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:charset   zhang   支持   color   people   span   .com   ted   protected   

知识点:

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();//重写后输出成功
?>

页面提示:

技术分享

 

PHP面向对象 封装与继承

标签:charset   zhang   支持   color   people   span   .com   ted   protected   

原文地址:http://www.cnblogs.com/chengzhongde/p/6915888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!