Rumah > pembangunan bahagian belakang > tutorial php > php类的封装是什么意思?php类的封装的解析

php类的封装是什么意思?php类的封装的解析

不言
Lepaskan: 2023-04-03 13:10:01
asal
2701 orang telah melayarinya

在php中,php类的封装是属于重要的内容也是属于比较难以理解的部分,在学习php类的封装之前,我们需要去了解public、protected与private修饰符,所以,在接下来的内容中,让我们具体来解析这部分的内容吧。

public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。

protected:方法或者属性只能从类或者继承类的一个成员中访问到。

private:方法或者属性只能从类的一个成员中访问到,而且无法从继承类的成员中访问到。经过private标记的方法或者属性可以在继承类中重新定义。每一个类只能看到它自己定义的私有方法。

这三个修饰符从作用范围上来讲应该像这样从大到小排序:

public→protected→private之所以说是在作用范围上是因为类跟我们之前的函数一样,把一些属性和方法进行了PHP类的封装。这个封装就决定了数据的“可见性”了,这样我们在类的外面不能够随意修改所定义的属性和方法而只能够进行调用,这就是封装的好处,同时也提高了安全性。为了说明这几个修饰符的作用,请看如下代码:

< ?php   
class myClass{   
public $public="Public";   
protected $protected="Protected";   
private $private="Private";   
function say_Hello(){   
//我现在什么也不做,等下再告诉你   
}   
}   
$obj=new myClass();   
echo $obj->public;   
//echo $obj->protected;   
//echo $obj->private;   
?>   
< ?php  
class myClass{  
public $public="Public";  
protected $protected="Protected";  
private $private="Private";  
function say_Hello(){  
//我现在什么也不做,等下再告诉你  
}  
}  
$obj=new myClass();  
echo $obj->public;  
//echo $obj->protected;  
//echo $obj->private;  
?>
Salin selepas log masuk

通过运行以上示例我们得到一个“Public”,但当你把//echo $obj->private;的注释去掉时,你会得到一下如下的错误:Fatal error: Cannot access protected property myClass::$protected in E:\apache\htdocs\example\file.php on line 13。

可以看到我们不能随意去访问类的属性定义,也就是我们不能去修改PHP类的封装中已经定义的一些操作,这就是可见性了。我们在“外面”是不知道这个类中到底有那些成员,因为这些成员对于其他的类可能是不可见的。

当然如果我们一定要访问或者修改定义为“私有”的属性时,也可以使用PHP所提供的系统方法:_get()和_set()。关于这个在以后再来了解,因为现在我对此也只是有个了解啦。

相关文章推荐:

PHP封装的HttpClient类用法实例,封装httpclient

PHP类的封装与继承详解,php封装详解

相关视频推荐:

用PHP面向对象思想实现对各个类进行封装处理

Atas ialah kandungan terperinci php类的封装是什么意思?php类的封装的解析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan