PHP面向对象高级特性

静态方法与静态类

1、在代码任何处直接使用,不需要在对象中传递实例
2、每个实例都可以访问类中的静态属性。不用为了获取简单的功能而实例化对象
3、在静态方法中实例对象进行操作,那么在不实例化的情况下获取新的对象
4、静态变量可以通过类修改,但常量不可改

<?php

// 类的属性改变会影响它所有的实例
class Parents
{
  static $num = 1;

  function show()
  {
    echo self::$num."<br />";
  }
}

$a = new Parents();
$b = new Parents();

$a->show();        // 输出1
Parents::$num = 2 ;  // 重新给静态方法赋值
$a->show();        // 输出2
$b->show();        // 输出2

// 通过接受原始数据然后生成对象,这个方法就如“工厂”一样
class StaticClass
{
    // other codes
    public static function getInstance($type,$params)
    {
        // 根据条件进行判断筛选
        return new $type($params);
    }
}
?>

单例模式

单例模式主要是避免对象重复实例,避免重复实例.

private 实例化方法
static 一个静态变量
一个类方法

class singleMysql()
{
    private static $object = Nome ;

    private function __construct($db_host, $db_port, $db_user, $db_pass)
    {
        $this->link = mysql_connect($db_host, $db_port, $db_user. $db_password)
    }


    public static function getInstance()
    {

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值