zoukankan      html  css  js  c++  java
  • PHP面向对象学习四 类的关键字

    1、关键字final
    用来定义类和方法的一个重要关键字,当定义类的时候该类将不能被继承,
    当用来定义方法的时候该方法将不能被重载
    2、关键字static
    用来定义类的静态属性或方法,可以在类未被实例化时使用,静态属性单独占
    用内存而不会因创建多个对象时而导致同样的方法或者属性重复占用。(如果当前类被实例化100次,静态属性只会占用一份内存,而非静态属性则占用100份内存)
    class class1{
     
       static $name;
       static function fun1(){
        ……//静态方法内部禁止出现非静态内容,如$this
       }
    }静态成员的访问:
    内部访问:self::静态成员
    类外部访问: 类名称::静态成员
     
    3、关键字self
    用来用类访问当前类中的内容的关键字,类似与$this关键字,但$this是需要
    类实例化以后才可以使用,self 可以直接访问当前类中的内部成员
    self :: 类内部成员(属性或者方法)<=> 类名 :: 类内部成员(属性或者方法)
    注意:因为没有实例化类访问内部属性或者方法是没有意义的,
               所以self一般用来访问类中的:静态成员,常量,或者其他定义内容
     
    4、关键字const
    用来定义类中的常量,类似PHP外部定义常量的关键字define();  Const只能
    修饰类当中的成员属性!常量是不能改变的。
    class class1{
        const NAME;
          function fun1(){
        ……
       }
    }
    1、建议大写常量
     
    2、常量不使用$符号
    测试代码:
    <?php
      /*class MyPc{
     public $name='我的电脑';
     final function power(){
     echo $this->name."-电脑开机中……";
     }
     }
     class Pc extends MyPc{
     function power(){
     echo MyPC::power().$this->name."-PC开机中……";
     }
     }
     $obj= new Pc();
     $obj->power();*/
     final class MyPc{
    const NAME='我的NAME';
     static $name='我的电脑';
      static function power(){
     echo self::$name."-self访问静态属性……<br/>";
     echo self::NAME."-self访问常量。。。";
     }
     }
     echo MyPc::power()."<br/>";
     echo MyPc::NAME;
    ?>
    View Code
  • 相关阅读:
    计算机网络基础知识整理
    计算机操作系统知识整理
    各类编程语言的主要用途
    计算机的基本组成知识整理
    对IT行业的看法和对软件工程的理解
    正规文法转换
    语法树评论
    c语言文法定义
    词法分析
    0909我对编译原理的见解
  • 原文地址:https://www.cnblogs.com/xtmp/p/3618308.html
Copyright © 2011-2022 走看看