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

PHP面向对象学习四 类的关键字的更多相关文章

  1. python中的面向对象学习以及类的封装(这篇文章初学者一定要好好看)

    这篇文章对于初学者可以很有效的理解面对过程.面对对象 一.首先介绍一下面向过程和面向对象的比较: 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何 ...

  2. PHP面向对象学习-属性 类常量 类的自动加载 构造函数和析构函数 访问控制(可见性)

    在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性.静态属性则是用 ::(双冒号):self::$ ...

  3. python中的面向对象学习以及类的继承和继承顺序

    继承 首先编写一串关于类的代码行: __author__ = "Yanfeixu" # class People: 经典类不用加(object) class People(obje ...

  4. PHP面向对象学习五 类中接口的应用

    类中接口的应用 接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用   抽象类:1.类中至少有一个抽象方法.2.方法前需要加abstract 接口: 1.类中全部为抽象方法,抽象方法前不 ...

  5. PHP面向对象学习三 类的抽象方法和类

    一个类中至少有一个方法是抽象的,我们称之为抽象类. 所以如果定义抽象类首先定义抽象方法. 1.类中至少有一个抽象方法 2.抽象方法不允许有{ } 3.抽象方法前面必须要加abstract 抽象类的几个 ...

  6. python中的面向对象学习以及类的多态

    接下来类的第三个重要的特性:多态(一种接口,多种实现) 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特 ...

  7. python学习笔记(七):面向对象编程、类

    一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...

  8. gRPC学习之四:实战四类服务方法

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. 初探swift语言的学习笔记四(类对象,函数)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29606137 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...

随机推荐

  1. EXCEL中汉字转大写拼音

    最近一直没有什么成系统的学习东西,也就没写什么随笔.昨天晚上,一哥们儿说给弄个输入汉字直接转拼音的程序,问了他几点需求,说你想做个啥的,最后,他说想做个EXCEL的,现在发现EXCEL确实是个好东西啊 ...

  2. SVN的忽略和只读使用方法学习记录

    前言,先扯几句.最近学了GIT,虽然很肤浅,但是也算是用上了分布式版本管理控制系统.Linus很牛,他也很厌烦SVN,而我看这些都是工具,是否拿来使用主要看是否顺手.我赞同分布式版本管理控制,它有诸多 ...

  3. W-数据库基础

    数据库系统由三部分组成:数据库(DB).数据库管理系统(DBMS)和数据库应用系统 数据加是用来存储数据的,里面存储两大类数据:用户数据及系统数据/数据字典,具体为系统中的用户以及用户孤权限,各种统计 ...

  4. map[C++]

    //map是一个存储键值对的容器,也是一个双向链表 #include <iostream> using namespace std; #include <map> int ma ...

  5. 注解:【有连接表的】Hibernate单向N->N关联

    Person与Address关联:单向N->N,[有连接表的] #和单向1->N关联代码完全相同,控制关系的一端需要增加一个set类型的属性,被关联的持久化实例以集合形式存在. #N-&g ...

  6. ios github网址

    ios github网址 http://github.ibireme.com/github/list/ios/

  7. 【工具】Git

    1.安装好Git以后,在开始菜单里找到Git->Git Bash,弹出一个命令窗口 2.设置邮箱 . 3.创建文件夹 4.创建版本库 5.将文件添加到缓存区中去 6.提交文件 7.检查是否还有文 ...

  8. Jmeter之JDBC请求(四)

    我们常用的Jmeter中的功能又HTTP请求.JDBC Request.SOAP/XML -RPC Request,这3个请求, 现在就为大家介绍下 什么是JDBC请求 首先,大家右键点击“测试计划” ...

  9. hdu 1370 Biorthythms 中国剩余定理

    Biorhythms Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  10. X-UA-Compatible属性的解释

    问题描述: 代码如下: <meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE& ...