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

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与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中文网其它相关文章!

php面向对象之构造函数作用与方法的更多相关文章

  1. Python面向对象之常用的特殊方法(5)

    Python面向对象里面有很多特殊方法,例如__init__(构造方法),__del__(析构方法),这些方法对于面向对象编程非常重要,下面列出一些常用的特殊方法 (1)__call__ class ...

  2. 前端学PHP之面向对象系列第二篇——魔术方法

    × 目录 [1]构造方法 [2]析构方法 [3]不可访问属性[4]对象复制[5]字符串[6]对象不存在[7]自动加载类[8]串行化[9]函数调用 前面的话 php在面向对象部分有很多相关的魔术方法,这 ...

  3. 从认识面向对象到构造函数的标准写法(构造函数的继承、多态、ECMA6中新代替语法class) - 下

    笔记一个包含:认识面向对象.构造函数的封装.继承.多态.ECMA6中新代替语法class 下:包括构造函数的继承.多态.ECMA6中新代替语法class 构造函数的继承 从父一级延续下来的属性和功能( ...

  4. ASP.NET私有构造函数作用

    一.私有构造函数的特性 1.一般构造函数不是私有或者保护成员,但构造函数可以使私有成员函数,在一些特殊的场合,会把构造函数定义为私有或者保护成员. 2.私有构造函数是一种特殊的实例构造函数.它通常用在 ...

  5. PHP面向对象 实例化 构造函数 封装 继承 静态

    PHP面向对象 实例化 构造函数 封装 继承 静态 面向对象: 一:定义类 class Dog { var $name; var $age; var $pinzhong; function Jiao( ...

  6. Java 面向对象之构造函数和 this 关键字

    构造函数 this 关键字 1. 构造函数 class Person { private String name; private int age; // 定义一个 Person 类的构造函数 Per ...

  7. 牛客网Java刷题知识点之构造函数与set方法、与类名同名的一般方法、构造函数中有return语句

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  8. php面向对象之构造函数和析构函数

    php面向对象之构造函数和析构函数 简介 php面向对象支持两种形式的构造函数和析构函数,一种是和类同名的构造函数(php5.5之前),一类是魔术方法(php5.5之后).与类名相同的构造函数优先级比 ...

  9. python面向编程:面向对象、init、绑定方法、案例练习

    一.类的定义 二.面向对象概念三.对象的使用四.__init__函数的使用五.绑定方法六.面向对象联系 一.类的定义 1.什么叫做类? 类就是分类,类型的意思,一堆具备相同特征和行为的事物的抽象概念 ...

随机推荐

  1. js中获取URL参数的共通方法getRequest()方法

    getRequest : function() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new ...

  2. PHP 匿名函数使用技巧

    之前写过一篇闭包的使用(点击此处进入),这次深入汇总下php中匿名函数的深入用法和理解: php中的匿名函数 也叫闭包函数 允许指定一个没有名称的函数.把匿名函数赋值给变量,通过变量来调用,举个简单的 ...

  3. Servlet版本冲突引起的Error

    本地打包部署应用都可以正常启动和响应请求,但是通过CI打包部署到服务器有请求进来时就会报错: java.lang.NoSuchMethodError: javax.servlet.http.HttpS ...

  4. Java学习笔记之——多线程

    多线程编程 程序: 进程:一个程序运行就会产生一个进程 线程:进程的执行流程,一个进程至少有一个线程,称为主线程 如:QQ聊着天,同时在听音乐 一个进程可以有多个线程,多个线程共享同一个进程的资源 线 ...

  5. You are what you write——沈向洋

    title: You are what you write--沈向洋 date: 2018-02-21 13:18:28 tags: [随想,write] categories: 个人文章 --- A ...

  6. nodejs body-parser 解析post数据

    安装 $ npm install body-parser API var bodyPaeser =require('body-parser') 可以通过body-parser 对象创建中间件,当接收到 ...

  7. springboot之mybatis注解形式

    springboot整合mybatis对数据库进行访问,本实例采用注解的方式,如下: pom.xml文件 <parent> <groupId>org.springframewo ...

  8. 20190322-a标签、img标签、三列表、特殊字符实体、表格

    目录 1.a标签 a标签的属性 锚点 2.img标签 img标签的属性 图像热区 3.三列表 有序列表(Ordered List)     ol>li 无序列表(Unordered List)  ...

  9. vue项目中vscode格式化配置和eslint配置冲突

    问题描述 使用vscode开发vue项目的时候,从远端拉下一个新的项目后,安装完依赖后跑起项目时,发现直接报了一堆语法错误:包括换行.空格.单双引号.分号等各种格式问题 因为我的 vscode 安装使 ...

  10. Xamarin 学习笔记 - Page(页面)

    本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1226447/Xamarin-Notes-Xamarin-Forms-Pages 转载 ...