php面向对象编程之--封装
来源:互联网 发布:24小时学通qt编程 pdf 编辑:程序博客网 时间:2024/06/05 06:53
php面向对象编程的三大特征
①、封装
②、继承
③、多态
抽象:我们在前面研究类时,实际上是把一类事物的共有的属性和行为提取出来,形成一个物理模型。这种研究问题的方法称为抽象。
封装:
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
php提供了三种访问控制符号来控制方法和属性(变量)的访问权限.
1. public 表示全局,可以在本类,类外部,子类 中使用
2. protected 表示受到保护, 可以在本类, 子类中使用,不能在类外使用n
3. private 表示私有, 只能在本类中使用,不能在类外使用,即在其他地方new了本类,也不能调用该方法
这三个控制修饰符号可以对 属性 和 方法进行修饰
1. 如果一个方法没有访问修饰符,则默认是public
//方法之间可以互相调用. 但是需要使用 $this引用
function test11()
{
$this->test12();
}
protected function test12()
{
echo "test12 hello";
}
若想在类外去访问protected 变量或者 private 变量, 通常的做法是在类中创建 public 方法去访问 这些变量. 形式是
public function setXxx($val){
}
public function getXxx(){
}
public function showInfo(){
}
①、封装
②、继承
③、多态
抽象:我们在前面研究类时,实际上是把一类事物的共有的属性和行为提取出来,形成一个物理模型。这种研究问题的方法称为抽象。
封装:
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
上面的操作是靠以下访问控制符号来实现,规定了自身权限,使有的人能访问,有的人不能访问
例程:
<span style="font-size:18px;"><?phpclass Person{public $name;private $age;private $salary;function __construct($name,$age,$salary){$this->name=$name; $this->age=$age; $this->salary=$salary;}}$a1=new Person("小明",32,5000);//正确显示,全局属性访问没有限制echo "<br>".$a1->name."<br>";//报错,私有属性不能在类外访问//echo "<br>".$a1->age."<br>"; //报错,私有属性不能在类外访问//echo "<br>".$a1->salary."<br>";?></span>
php提供了三种访问控制符号来控制方法和属性(变量)的访问权限.
1. public 表示全局,可以在本类,类外部,子类 中使用
2. protected 表示受到保护, 可以在本类, 子类中使用,不能在类外使用n
3. private 表示私有, 只能在本类中使用,不能在类外使用,即在其他地方new了本类,也不能调用该方法
这三个控制修饰符号可以对 属性 和 方法进行修饰
1. 如果一个方法没有访问修饰符,则默认是public
2. 属性 必须指定访问修饰符,若没有访问修饰符,会报错。
3. 私有方法前面最好加下划线,如:private function _save(){}
//方法之间可以互相调用. 但是需要使用 $this引用
function test11()
{
$this->test12();
}
protected function test12()
{
echo "test12 hello";
}
举例说明:
<?phpclass Person1{public $name;protected $age;private $salary;function __construct($name,$age,$salary){$this->name=$name;$this->age=$age;$this->salary=$salary;}//成员方法public function showInfo(){//这里说明在本类中可以使用 public protected 和private 修饰的变量.echo $this->name."||".$this->age."||".$this->salary;}function test(){//调用showInfo()方法,利用this引用$this->showInfo();}}//创建一个人$p1=new Person1("孙悟空",30,1000);$p1->test();?>
若想在类外去访问protected 变量或者 private 变量, 通常的做法是在类中创建 public 方法去访问 这些变量. 形式是
public function setXxx($val){
}
public function getXxx(){
}
public function showInfo(){
}
举例说明:
<?phpclass Person2{public $name;protected $age;private $salary;function __construct($name,$age,$salary){$this->name=$name;$this->age=$age;$this->salary=$salary;}//成员方法public function showInfo(){//这里说明在本类中可以使用 public protected 和private 修饰的变量.echo "<br>".$this->name."||".$this->age."||".$this->salary;}}//创建一个人$p1=new Person2("猪八戒",20,5000);//访问其详细信息,由于属性age和salary分别为保护和私有变量,若在类外直接访问//其属性会报错,但在类中创建一个公共属性的函数,通过函数即可访问这些变量。$p1->showInfo();?>
1 0
- php面向对象编程之--封装
- php面向对象之封装
- PHP面向对象之封装
- Java面向对象编程之封装(encapsulation)
- JavaScript面向对象编程之封装
- PHP中面向对象编程之封装以及魔术方法的使用
- 面向对象之封装
- 面向对象之封装
- 面向对象之封装
- 面向对象之封装
- 面向对象之封装
- 面向对象之封装
- 面向对象之封装
- 面向对象之封装
- 面向对象之封装
- PHP面向对象编程学习之二
- php面向对象编程--多态性之接口
- PHP面向对象编程之--继承
- c/c++模板的定义和实现分开的问题(一)
- [Binary Hacking] ABI and EABI
- Java基础:数组
- socket的半包,粘包与分包的问题
- 驱动编程问题
- php面向对象编程之--封装
- Visual GDB 自动更新源文件-LOCAL_SRC_FILES
- php webservice实例
- install MySQL-python
- BaiduMap---百度地图官方Demo之多地图展示(在一个Activity中创建多个地图展示)
- 安卓 实现背景音乐的播放与关闭
- Java中hashCode的作用
- 甲骨文战略主导下 MySQL 数据库将走向何方
- Makefile中命令前的@和-符号