博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php5 面向对像学习手扎
阅读量:2338 次
发布时间:2019-05-10

本文共 2294 字,大约阅读时间需要 7 分钟。

 1.php5中三种数据类型的区别

public: 公有类型
    在子类中可以通过self::var 来调用 public类型的方法或属性 可以通过parent::method 来调用父类中的方法
    在实例中可以能过$obj->var 来调用 public类型的方法或属性

protected: 受保护类型

        在子类中可以通过self::var 来调用 protected类型的方法或属性 可以通过parent::method 来调用父类中的方法
 在实例中不能通过$obj->var 来调用  protected类型的方法或属性

private: 私有类型

 该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法

2.self 和 parent 的区别
  a).在子类中常用到这两个对像。他们的主要区别在于self可以调用父类中的公有或受保护的属性,但parent不可以调用

  b).self:: 它表示当前类的静态成员(方法和属性) 与 $this 不同,$this是指当前对像

附代码:

<?
php
/*
*
 * parent 只能调用父类中的公有或受保护的方法,不能调用父类中的属性
 * self  可以调用父类中除私有类型的方法和属性外的所有数据
 
*/
class
 User
{
    
public
 
$name
;
    
private
 
$passwd
;
    
protected
 
$email
;    
    
public
  
function
 __construct()
    {
        
//
print __CLASS__." ";
        
$this
->
name
=
 
'
simple
'
;
        
$this
->
passwd
=
'
123456
'
;
        
$this
->
email 
=
 
'
bjbs_270@163.com
'
;
    }    
    
public
 
function
 show()
    {
        
print
 
"
good
"
;
    }    
    
public
 
function
 inUserClassPublic()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }    
    
protected
  
function
 inUserClassProtected()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }    
    
private
 
function
 inUserClassPrivate()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }
    
}
class
 simpleUser 
extends
 User 
{    
    
    
public
 
function
 __construct()
    {        
        
//
print __CLASS__." ";
        parent
::
__construct();
    }
    
    
public
 
function
 show()
    {
        
print
 
$this
->
name
.
"
//public
"
;        
        
print
 
$this
->
passwd
.
"
//private
"
;
        
print
 
$this
->
email
.
"
//protected
"
;
    }
    
    
public
 
function
 inSimpleUserClassPublic()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }
    
    
protected
 
function
 inSimpleUserClassProtected()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }
    
    
private
 
function
 inSimpleUserClassPrivate()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }
}
class
 adminUser 
extends
 simpleUser 
{
    
protected
 
$admin_user
;
    
public
 
function
 __construct()
    {
        
//
print __CLASS__." ";
        parent
::
__construct();
    }
    
    
public
 
function
 inAdminUserClassPublic()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }
    
    
protected
 
function
 inAdminUserClassProtected()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }
    
    
private
 
function
 inAdminUserClassPrivate()
    {
        
print
 
__CLASS__
.
'
::
'
.
__FUNCTION__
.
"
"
;
    }
}
class
 administrator 
extends
 adminUser 
{
    
public
 
function
 __construct()
    {        
        parent
::
__construct();
    }
}
/*
*
 * 在类的实例中 只有公有属性和方法才可以通过实例化来调用
 
*/
$s
 
=
 
new
 administrator();
print
 
'
-------------------
'
;
$s
->
show();
?>

转载地址:http://edepb.baihongyu.com/

你可能感兴趣的文章
北京羽毛球场地预定电话
查看>>
本周CNBlog例会:Grassland搜索的后台迁移
查看>>
Flickr的网络收藏夹服务
查看>>
BLOG="Better Listings On Google" ? Google BlogSearch上的 BSP索引收录量比较
查看>>
用sed批量替换文件中的字符
查看>>
九型性格心理测试 (From Ulla Zang荣格的个人性格测验题目)
查看>>
MT模板修改2则: 评论分段和firefox的缺省字体适应
查看>>
[MT] 3.32升级备忘
查看>>
MT 3.33发布: 安全漏洞修正
查看>>
给Blog加上雅虎通PingMe服务:和网站用户即时聊天
查看>>
顶级域名注册分布统计:2006年09月 .com .de .net .uk .cn
查看>>
雅虎通可以批量添加MSN用户了
查看>>
应届生如何应聘雅虎中国/阿里巴巴工作职位
查看>>
豆瓣“我上”:一个blog就是一本有趣的书
查看>>
速度比较:GMail/MSN/Yahoo!Mail
查看>>
搜索引擎来路关键词的挖掘:百度统计的高级分析报告导出获取来源关键词
查看>>
C/C++题目--拷贝构造函数概念
查看>>
C/C++题目--内存管理
查看>>
C/C++题目--深复制与浅复制
查看>>
数据结构教程--李春葆版(总结)之线性表-顺序存储结构概念
查看>>