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. javascript、正则的验证

    js验证.手机.固话.邮箱.身份证.网址.日期等 Verification.js文件 /* * 手机号码格式 * 只允许以13.15.18开头的号码 * 如:13012345678.159292243 ...

  2. [JavaCore]JAVA中的泛型

    JAVA中的泛型 [更新总结] 泛型就是定义在类里面的一个类型,这个类型在编写类的时候是不确定的,而在初始化对象时,必须确定该类型:这个类型可以在一个在里定义多个:在一旦使用某种类型,在类方法中,那么 ...

  3. 使用Jmeter进行http接口性能测试

    在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具. 但是Postman只能模拟单客户端的单次请求,而对 ...

  4. Eclipse调试方法及快捷键

    基本操作 断点,breakpoint: F5键与F6键均为单步调试: F5是step into,也就是进入本行代码中执行,跳入 F6是step over,跳过,也就是执行本行代码,跳到下一行 F7是跳 ...

  5. 自己yy的Splay

    #include <iostream> #include <cstdio> #include <queue> using namespace std; ; stru ...

  6. mysql一些有用的链接

    1.mysql安装:http://jingyan.baidu.com/article/f79b7cb35c0f439144023e38.html

  7. python数学运算的类型转换

    类型转换 Rational类实现了有理数运算,但是,如果要把结果转为 int 或 float 怎么办? 考察整数和浮点数的转换: >>> int(12.34) 12 >> ...

  8. 通过PHP扩展phpredis操作redis

    我们使用phpredis,这个扩展能让你用PHP操作redis. 源码下载: phpize ./configure ); var_dump($result); echo $redis->get( ...

  9. mysql LAST_INSERT_ID 使用与注意事项

    在使用MySQL时,若表中含自增字段(auto_increment类型),则向表中insert一条记录后,可以调用last_insert_id()来获得最近insert的那行记录的自增字段值 $mdb ...

  10. CSS3鼠标悬停图片动画

    鼠标放到图片上后: demo地址:demo div: <div class="wai"> <a href="#"> <div cl ...