`

PHP面向对象之----static

    博客分类:
  • PHP
 
阅读更多
众所周知,OOP的目的就是了把一个次编写代码,复制复制再复制,继承继承再继承的合理利用每一次的工作,同时也方便代码管理。哪个环节出错了就去找哪个环节。但是有时候我们写的类,最终发现它只使用了一次,并没有生成多个的实例。这个时候再去new, 不仅影响效率,代码也显得不够简洁。
所以非常感性的php,为我们提供了一种便捷高效的方法 static 有了它以后这些统统不再是问题。

class hw{  
    public static function hi(){  
       return 'Hello World!!!';  
    }  
}  
   
echo hw::hi();    
view plaincopy to clipboardprint?
class hw{  
    public function hi(){  
       return 'Hello World!!!';  
    }  
}  
   
echo hw::hi();
  
从上面的例子可以看出了,使用了static和不使用static属性以后可以直接使用::方法从外面直接调用,但是为了效率和其他方面因素,还是建议使用static 来限制。
static 类内部调用方法

class foo{  
   
private static function c(){  
  return 'abcd';  
}  
   
public static function a(){  
  echo self::c();  
}  
   
}  
foo::a();    
使用了static 关键字来限制方法是必须使用self:: 在本类内部引用,上面的例子已经将的很清楚了。
static 属性
view plaincopy to clipboardprint?
class foo{  
public static $a;  
public static function a(){  
  self::$a='abcd';  
}  
}  
foo::a();  
echo foo::$a;    
我们同样可以使用static关键字来限制变量 这个时候变量不会一直保持上一次负值时候的值。
static 继承与使用
view plaincopy to clipboardprint?
class foo{  
public static $a;  
public static function a(){  
  return 'abcd';  
}  
}  
class oo extends foo{  
public static  function a(){  
  echo '1234';  
}  
}  
oo::a();    
static 的继承和普通类的继承方法一样,并没有太大的区别。
view plaincopy to clipboardprint?
class foo{  
public static $a;  
public static function a(){  
  return 'abcd';  
}  
}  
class oo extends foo{  
public static  function aa(){  
  echo parent::a();  
}  
}  
oo::aa();    
只是使用的时候有写区别,必须是parent::方法来引用父类的方法,并不能直接self::来使用父类的方法,如下例子,则不会显示任何值:
view plaincopy to clipboardprint?
class foo{  
public static $a;  
public static function a(){  
  return 'abcd';  
}  
}  
   
class oo extends foo{  
public static  function aa(){  
  echo self::a();  
}  
}  
oo::a();    
再一个简单的例子
view plaincopy to clipboardprint?
<?php  
    class Status {  
        public static $ICE = -1;  
        public static $WATER = 0;  
        public static $VAPOR = 1;   
    }  
?>  
  
<?php  
    $exStatus = Status::$ICE;  
    if ($exStatus == Status::$ICE)  
        echo "Ice";  
    else  
        echo "Water";  
?>    
 
分享到:
评论

相关推荐

    PHP5面向对象初步-part23pdf

    从给定的文件信息中,我们可以提炼出一系列关于PHP5面向对象编程的高级类特性的知识点,主要包括静态(static)变量和方法、final类和方法、抽象类和方法以及设计模式如单件模式和模版模式的应用。接下来,我们将...

    PHP5面向对象初步-part4.pdf

    从给定的文件信息来看,文档主要探讨了PHP5中面向对象编程的高级特性,特别是接口和多态的概念。以下是对这些概念的深入解析: ### 接口的定义与规范 接口在PHP5中被定义为一个特殊类型的抽象类,其中仅包含抽象...

    PHP面向对象之旅深入理解static变量与方法

    在PHP编程语言中,面向对象编程(OOP)是一个核心概念,它允许开发者定义和组织代码结构更加清晰和模块化。在PHP的OOP中,`static`关键字...理解和正确使用静态变量和方法对于编写高质量的PHP面向对象程序至关重要。

    PHP程序设计:面向对象 - 类与对象.ppt

    * 面向对象 -----类与对象 课程内容 定义类 创建对象 封装 $this的使用 一、定义类 在PHP中把具有相同属性和行为的对象看成同一类,把属于某个类的实例称为某个类的对象。例如学生张三与李四是两个不同的对象,两者...

    PHP面向对象之旅深入理解static变量与方法共11页

    本资料“PHP面向对象之旅深入理解static变量与方法”旨在帮助开发者深入理解PHP中的静态(static)变量和静态方法,这些都是OOP的重要组成部分。下面我们将详细探讨这两个概念。 1. 静态变量 静态变量是在类中定义...

    php面向对象系列(完整)

    《PHP面向对象系列(完整)》是一份涵盖了2010年PHP面向对象编程的精华内容,主要包括了PHP 5.0中的多态性实现、PHP对象相关知识、PHP魔术函数等多个重要主题。以下是这些文档可能包含的关键知识点的详细解析: 1. **...

    php ob PHP面向对象教程

    在PHP编程语言中,面向对象(Object-Oriented Programming,OOP)是一种强大的设计和实现方法,它允许程序员创建复杂的、可复用的代码结构。本教程将深入探讨PHP中的面向对象特性,包括类、对象、封装、继承、多态等...

    计算机后端-PHP视频教程. php之面向对象28 超载的static.wmv

    计算机后端-PHP视频教程. php之面向对象28 超载的static.wmv

    php面向对象(类)教程

    本文将基于"php面向对象(类)教程"这一主题,深入探讨PHP中的面向对象编程(Object-Oriented Programming, OOP)概念,帮助初学者理解和掌握这一核心技能。 面向对象编程是一种编程范式,它通过类和对象来组织代码...

    PHP5面向对象编程(适合初学者)

    在PHP的世界里,面向对象编程(Object-Oriented Programming,OOP)是一种强大的设计和实现程序的方法,尤其在PHP5及以后的版本中得到了极大的增强。面向对象编程的核心概念包括类(Class)、对象(Object)、封装...

    PHP面向对象之刀客教程03

    本教程“PHP面向对象之刀客教程03”旨在深入探讨这一核心概念,帮助开发者提升PHP编程技能。我们将详细讲解以下几个关键知识点: 1. 类与对象: - **类**是面向对象编程的基本单元,它定义了一组属性(数据成员)...

    php5面向对象教程【技术文档】

    在PHP的世界里,面向对象编程(Object-Oriented Programming,简称OOP)是一种重要的编程范式,它在PHP5及更高版本中得到了显著加强。PHP5面向对象的特性为开发者提供了更加灵活和强大的代码组织方式,有助于提升...

    PHP面向对象之刀客教程01

    "PHP面向对象之刀客教程01"很可能是一个系列教程的开端,旨在教授初学者或有一定基础的PHP开发者如何在PHP中运用面向对象的概念。教程可能涵盖了以下核心概念: 1. 类与对象:在PHP中,类是创建对象的蓝图,定义了...

    (第22讲) PHP面向对象开发的学习(六)

    在本讲中,我们将深入探讨PHP面向对象编程中的四个关键概念:`final`、`self`、`static`以及`const`。这四个关键字在PHP的面向对象编程中扮演着至关重要的角色,对于理解和编写高效的面向对象代码至关重要。 首先,...

    PHP中面向对象的基本知识

    【PHP中的面向对象基本知识】 面向对象编程是一种编程范式,它将程序设计中的实体抽象成对象,并通过对象之间的交互来实现程序的功能。在PHP中,面向对象编程提供了丰富的特性,使得开发人员能够以更接近现实世界的...

    PHP面向对象编程(用星际快速入门)

    ### PHP面向对象编程详解——以星际争霸为例 #### 一、引言 在现代软件开发中,面向对象编程(Object-Oriented Programming, OOP)是一种广泛应用的技术,它通过将程序设计围绕“对象”来进行组织,使代码更易于...

    PHP面向对象技术_全面讲解

    3. 封装(Encapsulation)是面向对象的三大特性之一,它意味着隐藏对象的内部细节,只对外提供公共接口来访问和操作数据。通过访问控制修饰符(如`public`、`private`、`protected`),可以控制类的成员对其他代码的...

    php5面向对象

    **PHP5面向对象详解** PHP5是PHP编程语言的一个重要版本,它引入了全面的面向对象编程(OOP)支持,极大地增强了PHP在构建大型、复杂应用中的能力。面向对象编程是一种程序设计范式,强调数据和操作这些数据的方法...

    面向对象流包装PHP库.zip

    面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是...

Global site tag (gtag.js) - Google Analytics