php5 面向对像学习手扎

原创 2007年09月30日 16:58:00

 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();
?>

相关文章推荐

php5 面向对象

1.介绍  早在PHP 3版本中,PHP就支持面向对象的编程(OOP)。虽然当时可以用面向对象编程,但是PHP对其的支持是非常简单的,而且到PHP 4时也没有得到大幅度的改进,这主要是考虑到向后兼容...

PHP5中面向对象this关键字的详细用法

PHP5 中为解决变量的命名冲突和不确定性问题,引入关键字“$this”代表其所在当前对象。...

ThinkPHP学习(一) Windows下Nginx+PHP5+ThinkPHP_3.2.1的安装与配置

工具原料: Nginx153: 网盘下载地址:http://pan.baidu.com/s/1qWNgLf2 php-5.3.28-nts-Win32-VC9-x86 网盘下载地址:http://pa...

PHP5学习笔记-变量

PHP的变量名以美元符号$开始, 可以包含数字,字母,以及下划线, 只能字母或者下划线开头,不能以数字开头. $str = "hey, 妈妈叫你回去7饭饭拉"; echo $str; 还...

php5 面向对象总结(类与对象)

1. PHP 类与对象  2. PHP 类的继承 extends 关键字  3. PHP 构造方法 __construct()  4. PHP 析构方法 __destruct()  5. PH...
  • rh09jhl
  • rh09jhl
  • 2011年10月09日 15:38
  • 797

ThinkPHP学习(三)配置PHP5支持MySQL,连接MySQL数据库

配置PHP5支持MySQL 打开PHP配置文件“F:\PHP\php5328Win32\php.ini”,查找“extension=php_mysql.dll”, 把前面的分号去掉,保存文件,启动服务...

PHP5权威编程 学习笔记

PHP5权威编程 一、如何嵌入到HTML当中 print "hello,world" ?> 代码运行的输出(如果PHP有输出)替换掉PHP代码 二、注释 1、 /* */ ...

PHP5学习笔记-数据类型

1.整型 32位系统中,有效范围 -2147483648 ~ 2147483647 可以用八进制, 十进制, 十六进制来表示. 八进制数字前面0开头, 十六进制前面0x开头 注意:如果八进制中出...

PHP5面向对象(第三章_类特性)

  • 2014年05月25日 22:42
  • 850KB
  • 下载

php5面向对象

  • 2007年11月11日 16:13
  • 2.67MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php5 面向对像学习手扎
举报原因:
原因补充:

(最多只允许输入30个字)