PHP类的概念定义及使用方法
文章目录
- 前言
- 一、类的基本概念
- 二、类的伪变量
- 三、创建类的实例
- 四、类的继承
- 总结
前言
本文就介绍了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.2 类(Class)的概念(A) 类是对一组具有相同特征和行为的对象的抽象描述 ...
- C# 子类实例化基类 基类使用不了子类的方法_C#学习笔记11--接口/泛型
一.接口 1.1简介: 接口是一种特殊的引用类型, 和类很相似. 它定义了属性, 方法, 事件, 这些都作为接口的成员/ 接口中只包含成员的声明, 成员的定义是派生类的责任(谁继承谁实现). 接口在某 ...
- 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)...
译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...
- 类的概念、成员函数的定义方式、类的访问控制和封装、类的大小、this指针
文章目录 类的概念 struct class class和struct的区别是什么呢? 类中成员函数的两种定义方式 声明和定义都在类中 声明和定义分离 类的访问控制和封装 类的封装特性 类的大小 结构 ...
- 计算机模块的概念,用户定义类模块概念-计算机二级-Access
本节课讲解[VBA - 用户定义类模块概念]同学们可以在下方评论区进行留言. 那我们开始今天的教程吧. 1.用户定义类模块由其属性和属性过程.方法及时间封装构成,"属性和属性过程" ...
- java定义一个eat方法_Java继承概念详细解读
继承与合成基本概念 继承:可以基于已经存在的类构造一个新类.继承已经存在的类就可以复用这些类的方法和域.在此基础上,可以添加新的方法和域,从而扩充了类的功能. 合成:在新类里创建原有的对象称为合成.这 ...
- 【面向对象编程】(2) 类属性的定义及使用;__repr__()方法
各位同学好,在上一节中我们学习了类实例化的基本方法:https://blog.csdn.net/dgvv4/article/details/122275348?spm=1001.2014.3001.5 ...
- abstract类中不可以有private的成员_我要告诉你:java接口中可以定义private私有方法...
在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...
- zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法
转载自:http://blog.csdn.net/wide288/article/details/21622183 zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法: z ...
最新文章
- 基于 APIGateway 打造生产级别的 Knative 服务
- JDBC批量操作批量增加批量修改
- Objective-C Runtime 运行时之五:协议与分类
- python各种类型转换-int,str,char,float,ord,hex,oct等
- aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程
- 20165114 《网络对抗技术》 Exp0 Kali安装与配置 Week1
- 中resource文件夹的作用_冲突与碰撞:OpenStack中的虚拟机和裸机
- Java问题汇集(1)
- postgres预写式日志的内核实现详解-wal记录读取
- 碎片试自学软件测试?我靠自己整理的这套方,案既充实了自己也得到了涨薪
- 零基础掌握计算机入门
- “双一流”哈尔滨工程大学成立人工智能有关学院,打造一流学科群!
- 生物信息学习--nr/nt 数据库(总+子)构建
- android欢迎页广告
- 足球数据API接口 - 【球员资料】API调用示例代码
- 国产文件服务器十大品牌,国产服务器十大品牌
- 一文读懂Docker、K8s
- 知名公司薪水(转帖)
- Python金融系列第八篇:Fama-French 多因子模型
- 运行matlabR2014a出现找不到指定模块C:MATLAB7\bin\win32\atlas_Athlon.dll怎么办?