PHP 构造方法说明

2024-09-05 19:32
文章标签 php 说明 构造方法

本文主要是介绍PHP 构造方法说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、构造方法的8点说明:
①构造方法名和类名相同(php4版),php5版的构造方法名可以和类名相同,也可以是__construct()
②构造方法没有返回值
③构造方法的主要作用是完成对新对象的初始化,并不是创建对象本身。
④在创建新对象后,系统会自动的调用该类的构造方法,不需要自己写代码调用   
⑤一个类有且只有一个构造方法,在php5后虽然__construct()  和 类名() 可以共存,但是实际上也只能使用一个。
⑥如果没有给类自定义构造方法,则该类使用系统默认的构造方法。 */
⑦如果给类自定义了构造方法,则该类的默认构造方法被覆盖。

⑧构造方法的默认访问修饰符是public

2、在php 5 中一个类可以同时有 两种形式的构造方法:
      __construct() 和 类名() , 当两个同时存在的时候,优先调用__construct(), 请大家以后使用__construct()

      两种构造函数如下:

publicfunction  __construt()
{
//函数体;
}      

publicfunction 类名()
{
//函数体;
}

     PHP4中只能有一种形式的构造函数:

publicfunction 类名()
{
//函数体;
}

3、构造方法注意事项:
(1)一旦自定义了一个构造函数,默认的构造函数就被覆盖了,这时在创建对象的时候就要使用自定义的构造函数.
(2)一个类只能有一个构造函数.(不能重载)

4、构造方法代码实例:

<?php
//屏蔽程序 notice 级错误  
error_reporting(E_ALL^E_NOTICE); 
//php面向对象编程之构造方法: 
class Person1{public $name;public $age;
}
$p1=new Person1();
//再给属性赋值
$p1->name="宋江";
$p1->age=33;
//this的理解:
class Person2
{public $name;public $age;//这个就是构造方法,php5独有public function __construct($iname,$iage){//这里如果我们直接用$name,$age,系统认为我们是创建了两个新的变量//$name=$iname;//$age=$iage;//此处的$this->name、$this->age则解决了以上问题,加上$this之后该变量就是指上面创建的成员属性;//$this 本质可以理解就是这个对象的地址,哪个对象传递时使用到$this, 就是传递哪个对象地址;
<span style="white-space:pre">		</span>//this就相当于传的是地址,把上面$name的地址传过来了而不是再新建一个$name变量
		//注意:$this只能在类中使用,不能在类外部使用.$this->name=$iname;$this->age=$iage;echo "执行构造方法<br/>";}  
}
$p1=new Person2("张清",90);
echo "我是".$p1->name."--我现在的年龄是".$p1->age."<br/>";
$p2=new Person2("宋江",33);
echo "我是".$p2->name."--我现在的年龄是".$p2->age."<br/>";class Cat
{	//每一个类中必须有一个构造方法,若我们不定义,系统会自动生成//若不定义构造方法,则该类使用系统默认的构造方法,类中默认的构造方法如下:      function __construt(){}      
}
$cat1=new Cat();
?>


这篇关于PHP 构造方法说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139859

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

MySQL之复合查询使用及说明

《MySQL之复合查询使用及说明》文章讲解了SQL复合查询中emp、dept、salgrade三张表的使用,涵盖多表连接、自连接、子查询(单行/多行/多列)及合并查询(UNION/UNIONALL)等... 目录复合查询基本查询回顾多表查询笛卡尔积自连接子查询单行子查询多行子查询多列子查询在from子句中使

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字