PHP笔记之:基于面向对象设计的详解
程序员文章站
2022-07-06 23:18:46
public 表示全局,类内部外部子类都可以访问;复制代码 代码如下:
<?php
class test{
public $name='janking',
$sex='male',
$age=23;
function __construct(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
function func(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
}
$p=new test();
echo '<br /><br />';
$p->age=100;
$p->name="rainy";
$p->sex="female";
$p->func();
?>
public
private表示私有的,只有本类内部可以使用;
<?php
class test{
private $name='janking',
$sex='male',
$age=23;
function __construct(){
$this->funcone();
}
function func(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
private function funcone(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
}
$p=new test();
echo '<br /><br />';
$p->func();
$p->age=100; // cannot access private property test::$age
$p->name="rainy"; // cannot access private property test::$name
$p->sex="female"; // cannot access private property test::$female
$p->funcone(); // call to private method test::funcone() from context ''
?>
private
protected表示受保护的,只有本类或子类或父类中可以访问; 和封装有关的魔术方法:
public 表示全局,类内部外部子类都可以访问;
复制代码 代码如下:
<?php
class test{
public $name='janking',
$sex='male',
$age=23;
function __construct(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
function func(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
}
$p=new test();
echo '<br /><br />';
$p->age=100;
$p->name="rainy";
$p->sex="female";
$p->func();
?>
public
private表示私有的,只有本类内部可以使用;
复制代码 代码如下:
<?php
class test{
private $name='janking',
$sex='male',
$age=23;
function __construct(){
$this->funcone();
}
function func(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
private function funcone(){
echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
}
}
$p=new test();
echo '<br /><br />';
$p->func();
$p->age=100; // cannot access private property test::$age
$p->name="rainy"; // cannot access private property test::$name
$p->sex="female"; // cannot access private property test::$female
$p->funcone(); // call to private method test::funcone() from context ''
?>
private
protected表示受保护的,只有本类或子类或父类中可以访问; 和封装有关的魔术方法:
__set():是直接设置私有成员属性值时,自动调用的方法
__get():是直接获取私有成员属性值时,自动调用的方法
__isset(); 是直接isset查看对象中私有属性是否存时自动调用这个方法
__unset(); 是直接unset删除对象中私有属性时,自动调用的方法
上一篇: 陋室铭搞笑姐妹篇
推荐阅读
-
PHP面向对象学习笔记之二 生成对象的设计模式
-
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
-
PHP面向对象五大原则之里氏替换原则(LSP)详解
-
PHP面向对象五大原则之依赖倒置原则(DIP)详解
-
php学习笔记 php中面向对象三大特性之一[封装性]的应用
-
基于PHP 面向对象之成员方法详解
-
Python面向对象程序设计类的多态用法详解
-
Java学习笔记十八:Java面向对象的三大特性之封装
-
前端笔记之JavaScript面向对象(三)初识ES6&underscore.js&EChart.js&设计模式&贪吃蛇开发
-
PHP面向对象程序设计中的self、static、parent关键字用法分析