热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于php类的编程,成员属性不可以是另一个类的实例化对象么?

在Java中,成员属性可以设置数据类型,例如这样子:publicManman;不知道php中怎么实现下面是我写的一个简单小例子,Home类中有一个成员属性:主人$master

在Java中,成员属性可以设置数据类型,例如这样子:public Man man;
不知道php中怎么实现

下面是我写的一个简单小例子,Home类中有一个成员属性:主人 $master

我想把Home类的 成员变量 $master 赋值成 Man 类型,然后系统就报错了


class Home{
public $name;
public $age;
public Man $master;
}

class Man{
public $name;
public $sex;
}

$man = new Man();
$man -> name = "林则徐";
$man -> age = "42";

$home =  new Home();
$home->name = "老房子";
$home->age = "50";
$home->master = "林则徐";

3 个解决方案

#1


我自己搞明白了,原来php是弱数据类型,不需要声明就可以直接用。



class Home{
public $name;
public $age;
public $master;
}

class Man{
public $name;
public $sex;
}

$man = new Man();
$man -> name = "林则徐";
$man -> age = 42;

$home =  new Home();
$home->name = "老房子";
$home->age = 50;
$home->master = $man;


请速来拿分。

#2



class Home{
    public $name;
    public $age;
    public $master;
}
 
class Man{
    public $name;
    public $sex;
}
 
$man = new Man();
$man -> name = "林则徐";
$man -> age = "42";
 
$home =  new Home();
$home->name = "老房子";
$home->age = "50";
$home->master = $man;

echo $home->master->name;
?>

#3



class Home{
    public $name;
    public $age;
    public $master;

public function __construct(){
$this->master = new Man();
}
}
 
class Man{
    public $name;
    public $sex;
}
 
$man = new Man();
$man -> name = "林则徐";
$man -> age = "42";
 
$home =  new Home();
$home->name = "老房子";
$home->age = "50";
$home->master->name = "林则徐";
$home->master->sex = 6;

header("Content-type:text/html;charset=utf-8");
echo "
";
print_r($home->master);
echo "
";
/*
Man Object
(
    [name] => 林则徐
    [sex] => 6
)
*/

推荐阅读
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 深入解析 C++ 中的 String 和 Vector
    本文详细介绍了 C++ 编程语言中 String 和 Vector 的使用方法及特性,旨在帮助开发者更好地理解和应用这两个重要的容器。 ... [详细]
  • Python网络编程:深入探讨TCP粘包问题及解决方案
    本文详细探讨了TCP协议下的粘包现象及其产生的原因,并提供了通过自定义报头解决粘包问题的具体实现方案。同时,对比了TCP与UDP协议在数据传输上的不同特性。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文提供了一个关于AC自动机(Aho-Corasick Algorithm)的详细解析与实现方法,特别针对P3796题目进行了深入探讨。文章不仅涵盖了AC自动机的基本概念,还重点讲解了如何通过构建失败指针(fail pointer)来提高字符串匹配效率。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 深入理解iOS中的链式编程:以Masonry为例
    本文通过介绍Masonry这一轻量级布局框架,探讨链式编程在iOS开发中的应用。Masonry不仅简化了Auto Layout的使用,还提高了代码的可读性和维护性。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文详细介绍了 Node.js 中 OS 模块的 arch 方法,包括其功能、语法、参数以及返回值,并提供了具体的使用示例。 ... [详细]
  • 本文探讨了一种常见的C++面试题目——实现自己的String类。通过此过程,不仅能够检验开发者对C++基础知识的掌握程度,还能加深对其高级特性的理解。文章详细介绍了如何实现基本的功能,如构造函数、析构函数、拷贝构造函数及赋值运算符重载等。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
author-avatar
夏石兵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有