php面向对象之构造函数作用与方法

php面向对象之构造函数作用与方法

什么是构造函数呢?构造函数又有什么作用呢?

 

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。

可能上面的描述大家还是不能很清楚的了解,我们就举例子向大家讲解下。

构造函数的用法实例

我们先创建一个类,并且初始化这个类。

1
2
3
4
5
6
7
8
9
10
11
class 
Preson{
public 
$name
;                     
//定义变量
public 
$age
;
public 
$sex
;
public 
$height
;
}
$Preson1 

new 
Preson();
$Preson1
->
$name 

"大白"
;        
//变量赋值
$Preson1
->
$age 
= 20;
$Preson1
->
$sex 

"女"
;
$Preson1
->
$height 
= 180;

可以看到,上述例子中赋值过程比较繁琐,如果变量很多的话,工作量将会非常大,很麻烦。所以,我们引入了构造方法。所以构造函数的作用就是用来初始化对象的。该方法可以没有参数,也可以有多个参数。定义构造函数也很简单,__construct(),值得注意的是函数construct前面是两个下划线”_”.

了解了构造函数之后,我们用构造函数来重写上面的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class 
Preson{
public 
$name
;                     
//定义变量
public 
$age
;
public 
$sex
;
public 
$height
;
function 
__construct(
$name
,
$age
,
$sex
,
$height
){
$this
->name = 
$name
;         
//为变量赋值
$this
->age = 
$age
;
$this
->sex = 
$sex
;
$this
->height = 
$height
;
}
public 
function 
PlayBaskteBall(){
if
(
$this
->height>175 || 
$this
->age < 22){
return    
$this
->name . 
"可以打篮球"
;
}
else
{
return 
$this
->name . 
"不具备打球的条件"
;
}
}
}
$Preson1 

new 
Preson(
"大白"
,
"20"
,
"女"
,
"180"
);
echo 
$
$Preson1
->PlayBaskteBall();

构造方法是初始化对象时使用的,如果没有构造方法,那么PHP会自动生成一个。自动生成的构造方法没有任何参数,没有任何操作。

以上就是php面向对象之构造函数作用与方法的详细内容,更多请关注php中文网其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112362.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle 字符串拼接「建议收藏」

    Oracle 字符串拼接「建议收藏」有两种方式1、’xx’||’xx’||’aaa’selectidname||’,’||sex||’,’||ageastextfromuser效果id text adad1231asdas 张三,男,23 2、concat()函数注意:oracle只支持两个参数,如果要进行多个字符串的拼接,可以使用多个concat()函数嵌套使用例:如果要实现例1的效果:selectidconcat(name,con

    2022年9月20日
    2
  • oracle创建sequence语法_oracle sequence使用

    oracle创建sequence语法_oracle sequence使用先假设有这么一个表:createtableS_Depart(DepartIdINTnotnull,DepartNameNVARCHAR2(40)notnull,DepartOrderINTdefault0,constraintPK_S_DEPARTprimarykey(DepartId));

    2022年8月31日
    3
  • origin绘图基础1

    origin绘图基础11.绘制带有置信区间的拟合曲线分析-拟合-拟合曲线图-勾选之信贷(默认95%);图片来源:https://www.originlab.com/index.aspx?go=Products/Origin/DataAnalysis/CurveFitting置信区间估计(confidenceintervalestimate):利用估计的回归方程,对于自变量x的一个给定值x0,求出因变量y的平均值的估计区间。预测区间估计(predictionintervalestimate):利用估计

    2022年5月6日
    48
  • PHP实现敏感词过滤系统「建议收藏」

    PHP实现敏感词过滤系统「建议收藏」码说明1、敏感词库维护更新脚本:reload_dict.php,提供自动更新字典库到trie-tree文件的过程PHP<?php//设置内存ini_set(‘memory_limit’,’128M’);//读取敏感词字典库$handle=fopen(‘dict.txt’,’r’);//生成空的trie-tree-filter$resTrie=trie_filter_new();while(!feof($handle)){$it

    2022年6月13日
    75
  • 【黄啊码】软件测试之Loadrunner教程「建议收藏」

    【黄啊码】软件测试之Loadrunner教程「建议收藏」【黄啊码】软件测试之Loadrunner教程

    2022年5月10日
    42
  • K8S状态为evicted

    K8S状态为evicted报错:xxisEvictedonxx主机查询找出Evicted状态节点kubectlgetpods|grepEvicted删除节点,自动重启kubectldeletepod$podName也可以通过脚本定时执行kubectlgetpods|grepEvicted|awk'{print$1}’|xargskubectldeletepodxargs是给命令传递参数的一个过滤器,可以将管道或标准输入的数据转换成参数原因

    2022年5月17日
    122

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号