隐藏对象字段和实现细节,仅通过对外接口,控制在程序中字段的读取和访问级别
,将抽象的行为和数据相结合,形成一个有机的整体。
<?php
classs Conputer{
//public 公共的,内外可以访问
//private 私有的,类内可以访问
//protected 受保护的,类内和子类可以访问
//类内指的是{}之间的部分
}
?>
确定一个对象是否是一个类的实例,一个类的子类的实例,或者实现了一个接口
可以做成私有的,也可以设置静态方法,和普通字段设置一样,
<?php
class Computer{
const PI=3.14;
}
?>
1、总结:静态方法只能访问静态的,或者常量,用self关键字;
<?php
//类名一般第一个字母大小
class Computer{
const PI=3.1415926;//常量,在该类所有的实例化对象的生命周期内,值不变,约定俗成 常量名称大写
public static $_count=0; //静态类字段
private $_name='联想'; //我是公共字段,内外可以访问,初始化不可以赋值变量,如 $_name=time();错误
private $_cpu; //我是私有字段,类内可以访问
protected $_zb; //我是受保护的字段,子类和类内可以访问
public function _run(){
//类内访问字段: $this->字段名称
$this->_cpu='I5';
}
//静态方法可以通过类—>方法名称访问,也可以通过 类名称::方法名称访问
//静态方法,不可以访问非静态字段,非静态方法,通过$this也无法访问,因为不在对象中
//静态方法,可以访问静态字段,静态方法,
//静态方法内部,不可使用$this关键字
//静态只能访问静态 ,或者常量,
public static function _run2(){
echo self::$_count;
//self::_run(); 错误
//self::_name; 错误
self::PI;
}
//普通方法可以访问静态方法,因为,静态方法是为了对所有实例共享的
public function _run3(){
self::_run2();
}
//拦截器
//变量有用
private function __set($varname,$varvalue){
$this->$varname=$varvalue;
}
private function __get($varname){
return $this->$varname;
}
}
//实例化一个类
$computer=new Computer();
$computer1=new Computer();
Computer::_run2();
echo '<br>';
$computer->_run2();
echo '<br>';
//访问常量
echo Computer::PI;
echo '<br>';
//echo Computer::$_count;
//echo $computer->_count; 无法访问
//echo $computer->PI; 无法访问
//拦截器 设置变量值
$computer->_name="dell";
echo '<br>';
echo $computer->_name;
echo '<br>';
$computer->_count="dell";
echo '<br>';
echo $computer->_count;
echo '<br>';
echo Computer::$_count;
//instanceof 关键字 确定某个对象是否是一个类的实例。一个类的子类,或者是实现了某个接口,
echo ($computer instanceof Computer);
?>
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:PHPOOP的特性-封装-创新互联
网页URL:https://www.cdcxhl.com/article34/djggpe.html
成都网站建设公司_创新互联,为您提供软件开发、网站内链、自适应网站、全网营销推广、商城网站、面包屑导航
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联