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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • GoogleNet_我和我的祖国论文摘要

    GoogleNet_我和我的祖国论文摘要GoogLeNetIncepetionV1这是GoogLeNet的最早版本,出现在2014年的《Goingdeeperwithconvolutions》。之所以名为“GoogLeNet”而非“GoogleNet”,文章说是为了向早期的LeNet致敬。Motivation深度学习以及神经网络快速发展,人们不再只关注更给力的硬件、更大的数据集、更大的模型,而是更在意新的idea、新的算法以及模型的改进。一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,即增加隐层和以及各层神经元

    2022年8月14日
    4
  • Apache和Nginx有什么区别

    Apache和Nginx有什么区别Apache和Nginx最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;而nginx是异步的,多个连接(万级别)可以对应一个进程。区别:Apacheapache的rewrite比nginx强大,在rewrite频繁的情况下,用apacheapache模块多apache更为成熟,少bugapache超稳定apache对PHP支持比较交单,nginx需要配合其他后端用apche在处理动态请求有优势,nginx在这方面是鸡肋,一般动态请求用apache去做,nginx适合静态

    2022年5月7日
    36
  • 巧用ViewPager 打造不一样的广告轮播切换效果

    巧用ViewPager 打造不一样的广告轮播切换效果转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/51339751;本文出自:【张鸿洋的博客】一、概述如果大家关注了我的微信公众号的话,一定知道我在5月6号的时候推送了一篇文章,文章名为Android超高仿QQ附近的人搜索展示(一),通过该文可以利用ViewPager实现单页显示多个Item且能够添加一些炫酷的动画效

    2022年7月22日
    12
  • BM3D(Block-Matching and 3D filtering)读后感[通俗易懂]

    BM3D(Block-Matching and 3D filtering)读后感[通俗易懂]本篇博客是关于BM3D(Block-Matchingand3Dfiltering)及其相关算法VBM3D、CBM3D的详细解析。图像去噪方向第一次做,所以用词不当还请指出。

    2022年6月7日
    43
  • scratch编程滑雪者游戏教程

    scratch编程滑雪者游戏教程首先我们来看一下效果:​​​​​​​​​​​​​​​​我们从演示中能看出4个角色:企鹅、大树、旗子和装饰用的坎,我们通过键盘操控企鹅滑雪躲避树并捡起旗子,现在我们就来看看是怎么编的吧!首先我们要画出企鹅的造型,造型的排列一定不能乱哦!​下面是具体程序:上面的程序会根据当前的造型而做出不同的变化接着我们来看树的程序:旗子的程序和大树的几乎一模一样,就只有碰到滑雪者的一部分有点区别:最最最简单的一部分就是坎的程序了,坎只管滑行碰到边缘在删除就可以了,在中途什么也不用管这个

    2022年6月17日
    83
  • kl1083_奥什科什M1083

    kl1083_奥什科什M1083Windy 定义了一种 Windy 数:不含前导零且相邻两个数字之差至少为 2 的正整数被称为 Windy 数。Windy 想知道,在 A 和 B 之间,包括 A 和 B,总共有多少个 Windy 数?输入格式共一行,包含两个整数 A 和 B。输出格式输出一个整数,表示答案。数据范围1≤A≤B≤2×109输入样例1:1 10输出样例1:9输入样例2:25 50输出样例2:20#include<bits/stdc++.h>using namespace std;

    2022年8月10日
    6

发表回复

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

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