构造方法 __construct()
2023-03-07 09:45:24 时间
1. 构造方法简介
- 构造方法
__construct()
是一种类结构特有的特殊方法,该方法由系统规定好 - 实例化一个类时:先调用该方法,再返回类的对象
- 构造方法也是普通方法,不同之处就是在实例化类时会自动调用
- 构造方法用来初始化对象资源的,例如
属性
或其他资源初始化
2. 私有化构造方法
a. 在类的外部实例化类,相当于在类的外部调用了构造方法
new User;
class User
{
public function __construct()
{
echo __METHOD__;
}
}
b. 单例模式设计一个类时,需要禁止类在外部被实例化,因为这样会生成无限个对象
- 构造方法私有化之后,只能在类的内部实例化当前类
- 为了在类的外部能够获取到类的实例,应该提供一个类的入口(静态方法),用于获取类的实例
// 返回类的实例
User::getInstance();
class User
{
/**
* 私有化构造方法
* 禁止类在外部被实例化
*/
private function __construct()
{
echo __METHOD__;
}
/**
* 类的入口
* 用于获取类的实例
*/
public static function getInstance()
{
return new self;
}
}
3. 构造方法参数
(1)未定义构造方法或构造方法没有参数时
以下获取类的实例的两种方式都可以
new User;//不需要给构造方法传参,可不写括号
new User();//写了也不错
class User
{
public function __construct()
{
echo __METHOD__;
}
}
(2)构造方法有参数且参数没有默认值时,实例化类必须传入参数
new User('张三', 20);//实例化类时必须传入参数,此处参数叫实参
class User
{
// 此处参数叫形参
public function __construct($name, $age)
{
echo __METHOD__;
}
}
相关文章
- 使用 Amazon Comprehend Medical 以自然语言为基础查询药物不良反应与召回事件
- 使用 Amazon Translate 以 Office Open XML 格式翻译文档、电子表格与演示文稿
- Java--StringBuilder类
- 使用 Amazon Translate 自动翻译PPT
- 使用 Amazon SageMaker Ground Truth, Amazon Comprehend 与 Amazon A2I 为基于 NLP 的实体识别模型设置人工审查
- 基于 Amazon SageMaker 创建一套持久的定制化 R 环境
- 新 EC2 T4g 实例 — 由 AWS Graviton2 提供支持的突发性能 — 免费试用
- 使用 Amazon Textract、Amazon Comprehend 以及 Amazon Lex 从发票中提取会话式洞见
- AWS 连续 10 年获评 Gartner 基础设施与平台服务魔力象限中的领导者
- 对 PyTorch BERT 模型进行微调,并将其部署到 Amazon SageMaker 上的 Amazon Elastic Inference
- 高盛如何通过 AWS PrivateLink 构建起接入 Amazon MSK 集群的跨账户连接体系
- REA Group 如何利用 Amazon Rekognition 实现自动化图像合规审查
- 在 Amazon SageMaker notebook 实例上使用 R 编程
- AWS Content Analysis 解决方案介绍
- 教育网站 ApplyBoard 使用 CloudWatch Container Insights 监控关键任务 EKS 环境
- TUNA 开源镜像站分站在由西云数据运营的 AWS 中国(宁夏)区域上正式上线并开放服务
- 宣布在洛杉矶推出第二个本地区域
- Python Tkinter 之Frame控件(Python GUI 系列4)
- 轻松便捷为 AWS WAF 部署一套仪表板
- 将 Linux 实例无缝加入适用于 Microsoft Active Directory 的 AWS Directory Service 中