文章目录

  • 前言
  • 一、类的基本概念
  • 二、类的伪变量
  • 三、创建类的实例
  • 四、类的继承
  • 总结

前言

本文就介绍了PHP类的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、类的基本概念

  • 以关键词class开头,后面跟着类名,类名后面跟着一对花括号,里面包含有类的属性、方法的定义。
  • 类名:由字母、数字、下划线组成。字母或下划线开头。
  • 一个类里包含有自己的常量,类的属性(变量),类的方法(函数)。
class ClassName{const      STAT = 'S' ;       //常量static     $stat = 'Static' ;    //静态属性public     $publ = 'Public' ;  //公有属性private    $priv = 'Private' ; //私有属性protected  $prot = 'Protected' ;   //受保护属性public function test(){      //公有方法return "你好";}
}

二、类的伪变量

  • 伪变量$this,是一个到主叫对象的引用。
class ClassName{public $str = '你好';public function test(){echo $this->str;}
}

三、创建类的实例

//创建类的实例得使用关键词new
$in = new NewClass();
//或者使用变量,动态创建
$str = 'NewClass';
$in = new $str();
//
echo (new $str())->test();

四、类的继承

  • 一个类可以在声明中用 extends 关键字继承另一个类的方法和属性。
  • PHP不支持多重继承,一个类只能继承一个基类。
  • 被继承的方法和属性可以通过用同样的名字重新声明被覆盖。
  • 但是如果父类定义方法时使用了 final,则该方法不可被覆盖。可以通过 parent:: 来访问被覆盖的方法或属性。
  • 当覆盖方法时,参数必须保持一致否则 PHP 将发出 E_STRICT 级别的错误信息。但构造函数例外,构造函数可在被覆盖时使用不同的参数。
class ClassB extends ClassA{ //ClassB继承了ClassAfunction test(){           //重写了父类的test方法echo "classB\n";parent::test();         //执行父类的test方法}
}$extended = new ClassB();     //实例化ClassB
$extended->test();       //执行ClassB中的test方法
namespace NameSp {class ClassName {}echo ClassName::class;       //会输出命名空间+类名 NameSp/ClassName
}

总结

以上就是今天要讲的内容,本文仅仅简单介绍了PHP类的概念及使用。

  • 以关键词class开头,后面跟着类名(由字母、数字、下划线组成。字母或下划线开头),类名后面跟着一对花括号,里面包含有类的常量、属性(变量)、方法(函数)的定义。
  • 类的伪变量$this。
  • 创建类的实例 new。
  • 类的继承,覆盖重写等。

PHP类的概念定义及使用方法相关推荐

  1. 面向对象(类的概念,属性,方法,属性的声明,面向对象编程思维

    1 面向对象 1.1 你是如何认识新事物的? 从过往的事物中总结事物的特点(特征),并比对新事物,把新事物进行归类. 1.2 类(Class)的概念(A) 类是对一组具有相同特征和行为的对象的抽象描述 ...

  2. C# 子类实例化基类 基类使用不了子类的方法_C#学习笔记11--接口/泛型

    一.接口 1.1简介: 接口是一种特殊的引用类型, 和类很相似. 它定义了属性, 方法, 事件, 这些都作为接口的成员/ 接口中只包含成员的声明, 成员的定义是派生类的责任(谁继承谁实现). 接口在某 ...

  3. 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)...

    译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...

  4. 类的概念、成员函数的定义方式、类的访问控制和封装、类的大小、this指针

    文章目录 类的概念 struct class class和struct的区别是什么呢? 类中成员函数的两种定义方式 声明和定义都在类中 声明和定义分离 类的访问控制和封装 类的封装特性 类的大小 结构 ...

  5. 计算机模块的概念,用户定义类模块概念-计算机二级-Access

    本节课讲解[VBA - 用户定义类模块概念]同学们可以在下方评论区进行留言. 那我们开始今天的教程吧. 1.用户定义类模块由其属性和属性过程.方法及时间封装构成,"属性和属性过程" ...

  6. java定义一个eat方法_Java继承概念详细解读

    继承与合成基本概念 继承:可以基于已经存在的类构造一个新类.继承已经存在的类就可以复用这些类的方法和域.在此基础上,可以添加新的方法和域,从而扩充了类的功能. 合成:在新类里创建原有的对象称为合成.这 ...

  7. 【面向对象编程】(2) 类属性的定义及使用;__repr__()方法

    各位同学好,在上一节中我们学习了类实例化的基本方法:https://blog.csdn.net/dgvv4/article/details/122275348?spm=1001.2014.3001.5 ...

  8. abstract类中不可以有private的成员_我要告诉你:java接口中可以定义private私有方法...

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  9. zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法

    转载自:http://blog.csdn.net/wide288/article/details/21622183 zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法:  z ...

最新文章

  1. 基于 APIGateway 打造生产级别的 Knative 服务
  2. JDBC批量操作批量增加批量修改
  3. Objective-C Runtime 运行时之五:协议与分类
  4. python各种类型转换-int,str,char,float,ord,hex,oct等
  5. aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程
  6. 20165114 《网络对抗技术》 Exp0 Kali安装与配置 Week1
  7. 中resource文件夹的作用_冲突与碰撞:OpenStack中的虚拟机和裸机
  8. Java问题汇集(1)
  9. postgres预写式日志的内核实现详解-wal记录读取
  10. 碎片试自学软件测试?我靠自己整理的这套方,案既充实了自己也得到了涨薪
  11. 零基础掌握计算机入门
  12. “双一流”哈尔滨工程大学成立人工智能有关学院,打造一流学科群!
  13. 生物信息学习--nr/nt 数据库(总+子)构建
  14. android欢迎页广告
  15. 足球数据API接口 - 【球员资料】API调用示例代码
  16. 国产文件服务器十大品牌,国产服务器十大品牌
  17. 一文读懂Docker、K8s
  18. 知名公司薪水(转帖)
  19. Python金融系列第八篇:Fama-French 多因子模型
  20. 运行matlabR2014a出现找不到指定模块C:MATLAB7\bin\win32\atlas_Athlon.dll怎么办?

热门文章

  1. 操作系统功能模块之进程管理中的进程是什么?进程调度又是什么?
  2. 团队协作开发工具Git超详细讲解(工作必会)
  3. Android仿微信朋友圈发图片和文字
  4. 【java】java天气消息推送至微信公众号详细教程
  5. Win11怎么隐藏底部任务栏全屏显示设置方法分享
  6. 基于SSM的超市账单管理系统
  7. 大连英语培训百家雅思老师分享英语四六级四六级提分技巧
  8. 前端删除cookie
  9. Python练手小项目(5)斐波那契数列及其曲线的绘制
  10. 软考2022上半年上午题真题和知识点整理