封装特性:在一个物件产生之後,物件的部分成员属性和成员方法在逻辑上是不允许在物件外部调用或者使用的
1. 被private修饰的成员属性、成员方法不能够在类的外部进行访问,只可以在类的内部访问。
2. var和private只能选取一个(public 和 protected)
<?php
class Bear
{
private $name = 'Winnie';
private $sex = '女';
var $flag = true;
//成员方法
function sayHi()
{
echo 'HIHI~ Hello World ';
}
function eat()
{
echo '鱼好吃!';
}
function hunter()
{
echo '我是一只熊,我会捕鱼,话说,西索很帅!';
}
//魔术方法 __get()
function __get($pro)
{
// echo '#########';
// echo $this->name;
// return $this->$pro;
if ($pro == 'name') {
return $this->name;
} else {
return $this->$pro . '禁';
}
}
}
//实例化对象
$animal = new Bear();
var_dump($animal);
echo $animal->name; //Fatal error 不能访问
echo '<hr/>';
$animal->name = '哈哈哈';//也不行
var_dump($animal);
<?php
class BearPerson
{
//成员属性
var $name = 'Winnie';
private $sex = '女';
private $age = 18;
//成员方法
function sayHi()
{
echo '吉祥如意~';
}
function hunter()
{
echo '捕到鱼哗啦啦啦啦啦~~~';
}
//魔术方法
function __set($pro, $newVal)
{
//echo '########';
// var_dump($pro);
// var_dump($newVal);
//$this->$pro = $newVal;
if ($pro == 'sex') {
$this->$pro = $newVal;
} else {
//没有返回值
//return '无权修改';
}
}
//魔术方法 __isset
function __isset($pro)
{
// echo '########';
// var_dump($pro);
return isset($this->$pro);
}
//魔术方法 __unset()
function __unset($pro)
{
//echo '#########';
//var_dump($a);
if ($pro == 'sex') {
unset($this->$pro);
}
}
}
//实例化一个对象
$bear = new BearPerson;
// var_dump($bear);
// //访问私有成员属性
// //echo $bear->sex;
// //设置私有成员属性
// $bear->sex = '不男不女';
// var_dump($bear);
// echo $bear->age = 50;
// var_dump($bear);
//实例化一个对象 isset()
//检查姓名属性是否设置 非私有
// $result = isset($bear->name);
// var_dump($result);
//检查私有成员属性
// $result = isset($bear->age);
// var_dump($result);
//删除一个属性 unset() 非私有的
// unset($bear->name);
// var_dump($bear);
// echo $bear->name;
//删除一个私有成员属性
unset($bear->sex);
var_dump($bear);
>>: Day 22 - 物件导向与向量3 - class + mouseInpress 设定
https://wolkesau.medium.com/python-语言-57370c0adcf7...
Widget乐高积木 在开始实作App之前,我们需要认识 Flutter 程序架构的基本概念。 回顾...
yo, what's up? Product Type Product types 允许同时存在两种...
如同上一章节所述,整个过程几乎和在本机安装、验证及执行类似。但是,在本机和Colab执行各有其优缺点...
Github 多了一个 Actions 的新功能,当 push 档案到 Github 的时後,就会自...