php技术的概念特点,基本概念

news/2024/7/8 12:11:47

## **class**

每个类的定义都以关键字`class`开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义。

类名可以是任何非 PHP[保留字](https://www.php.net/manual/zh/reserved.php)的合法标签。一个合法类名以字母或下划线开头,后面跟着若干字母,数字或下划线。以正则表达式表示为:`[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*`。

一个类可以包含有属于自己的[常量](https://www.php.net/manual/zh/language.oop5.constants.php),[变量](https://www.php.net/manual/zh/language.oop5.properties.php)(称为“属性”)以及函数(称为“方法”)。

## **new**

将类实例化成对象非常容易,只需要使用`new`关键字并在后面加上一个和类名同名的方法即可。当然如果在实例化对象时不需要为对象传递参数,在`new`关键字后面直接用类名称即可,不需要再加上括号。

~~~

变量名 = new 类名(参数数列表);

变量名 = new 类名;

~~~

参数说明如下:

* 变量名:通过类所创建的一个对象的引用名称,可以通过这个名称来访问对象的成员;

* new:关键字,表明要创建一个新的对象;

* 类名:表示新对象的类型;

* 参数列表:指定类的构造方法用于初始化对象的值,如果类中没存定义构造函数,PHP 会自动创建一个不带参数的默认构造函数。

## **Properties and methods**

对象中包含成员属性和成员方法,访问对象中的成员和访问数组中的元素类似,只能通过对象的引用来访问对象中的成员。但还要使用一个特殊的运算符号`->`来完成对象成员的访问,访问对象中成员的语法格式如下所示:

~~~

变量名 = new 类名(参数);   //实例化一个类

变量名 -> 成员属性 = 值;   //为成员属性赋值

变量名 -> 成员属性;           //直接获取成员属性的值

变量名 -> 成员方法();        //访问对象中的成员方法

~~~

## **extends**

一个类可以在声明中用`extends`关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。

被继承的方法和属性可以通过用同样的名字重新声明被覆盖。但是如果父类定义方法时使用了[final](https://www.php.net/manual/zh/language.oop5.final.php),则该方法不可被覆盖。可以通过[parent::](https://www.php.net/manual/zh/language.oop5.paamayim-nekudotayim.php)来访问被覆盖的方法或属性。

当覆盖方法时,参数必须保持一致否则 PHP 将发出**`E_STRICT`**级别的错误信息。但构造函数例外,构造函数可在被覆盖时使用不同的参数。

## **::class**

自 PHP 5.5 起,关键词`class`也可用于类名的解析。使用`ClassName::class`你可以获取一个字符串,包含了类`ClassName`的完全限定名称。


http://www.niftyadmin.cn/n/1997368.html

相关文章

python存入mysql数据库乱码_Python中MYSQLdb出现乱码的解决方法

本文实例讲述了Python中MYSQLdb出现乱码的解决方法,分享给大家供大家参考。具体方法如下:一般来说,在使用mysql最麻烦的问题在于乱码。查看mysql的编码:命令:show variables like character_set_%;可以看到如下结果&am…

Visual C++(包含Windows API和MFC)开发中常见问题的答案

Visual C(包含Windows API和MFC)开发中常见问题的答案 1.简述VC6下如何进行程序的调试。在主菜单"Build"中,有一个Start Build的子菜单,它下面包含了Go菜单(快捷键为F5),选择后,程序将从当前语句…

《js随机数》系列技术文章整理

《js随机数》系列技术文章整理收藏,希望大家能用得上,大家喜欢就点个赞吧。1、js生成随机颜色值http://www.512pic.com/174/2101-0.html 2、js生成不重复的随机数http://www.512pic.com/174/2098-0.html 3、js生成随机整数http://www.512pic.com/174/209…

app post php,web-是不是只要app用的是post过来的,php都可以直接获取?

对方说自己用的是asihttp,post过来的。那么我能直接接收到吗?还有如何检测我有没有收到别人post过来的数据或别人有没有发送数据过来?回复内容:对方说自己用的是asihttp,post过来的。那么我能直接接收到吗?…

mysql enterprise platinum_MySQL Enterprise Monitor安装

MySQL Enterprise Monitor安装体系架构----------------------------------------------------Monitired MySQL Server Agent --> Monitor安装步骤----------------------------------------------------1. 建立一个作为Repository独立的MySQL数据库,也可以用EM自…

VC++技术经验

1. 如何获取应用程序的实例句柄?应用程序的 实例句柄保存在CWinAppIm_hInstance 中,可以这么调用AfxGetInstancdHandle获得句柄.Example: HANDLE hInstanceAfxGetInstanceHandle();2. 如何通过代码获得应用程序主窗口的指针?主窗口的 指针保存在CWinThread::m_pMainWnd中,调用…

oracle where条件顺序有影响吗,where条件顺序不同、性能不同示例探讨

where条件顺序不同、性能不同示例探讨更新时间:2013年05月19日 15:57:34 作者:where条件顺序不同,性能不同,这个建议在Oracle11G版本还合适吗,想提高性能的的朋友可以参考下哈昨天在书上看到SQL语句优化时&#xff0…

iphone11返回上一级手势怎么设置_iPhone 11 系列手势操作大全你了解吗?

相信很多小伙伴已经使用新款iPhone 几天了,不知道上手还是否习惯呢?iPhone 11 系列继续采用全面屏设计,没有「Home 键」,对于之前用过iPhone X 系列手机的小伙伴来说是可以马上上手的,但是如果之前使用的是 iPhone 8 及…