Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP OOP-关于对象 我通过实践学习PHP OOP,我有一个大问题,也许你会考虑微不足道的,但对我来说,它会杀了我_Php_Oop_Object - Fatal编程技术网

PHP OOP-关于对象 我通过实践学习PHP OOP,我有一个大问题,也许你会考虑微不足道的,但对我来说,它会杀了我

PHP OOP-关于对象 我通过实践学习PHP OOP,我有一个大问题,也许你会考虑微不足道的,但对我来说,它会杀了我,php,oop,object,Php,Oop,Object,例如,我在构造函数中有一个消息类,我将标题、信息、发送者、接收者、时间等放在其中。因此,当有人进入消息页面时,我只需创建消息对象,但问题是 如果我必须列出所有的消息,我应该为eg创建一个方法listmessages,还是应该为每条消息创建许多messages对象 thx for your time在这种情况下,您确实需要为每条消息创建对象。列表可以是数组或数组的对象封装 如果您有许多消息,您可以决定只加载一些消息,或者创建一个更紧凑的数据列表和Flyweight设计模式的实现来模拟单独的消息对象

例如,我在构造函数中有一个消息类,我将标题、信息、发送者、接收者、时间等放在其中。因此,当有人进入消息页面时,我只需创建消息对象,但问题是

如果我必须列出所有的消息,我应该为eg创建一个方法listmessages,还是应该为每条消息创建许多messages对象


thx for your time

在这种情况下,您确实需要为每条消息创建对象。列表可以是数组或数组的对象封装

如果您有许多消息,您可以决定只加载一些消息,或者创建一个更紧凑的数据列表和
Flyweight设计模式的实现来模拟单独的消息对象,而实际上只有一个紧凑的数据块


但这些都是目前可能不需要的复杂解决方案,所以您不必担心它们。只需为每条消息创建一个消息对象实例,并将它们放入您选择的列表中

在这种情况下,您确实需要为每条消息创建对象。列表可以是数组或数组的对象封装

如果您有许多消息,您可以决定只加载一些消息,或者创建一个更紧凑的数据列表和
Flyweight设计模式的实现来模拟单独的消息对象,而实际上只有一个紧凑的数据块


但这些都是目前可能不需要的复杂解决方案,所以您不必担心它们。只需为每条消息创建一个消息对象实例,并将它们放入您选择的列表中

使用面向对象编程,类是对象,就像消息是对象一样。因此,我认为创建一个Message()类对象并为每个消息创建一个新的实例是最符合逻辑的

想象一下当你收到一封信的时候。信件类似于“类信件”,并包含属性,如“发件人”、“回信地址”、“收件人”、“邮件正文”、“发送日期”等。如果多封信件(即多个发件人、收件人和邮件正文)都打包在一个对象中,这是没有意义的,是吗?每个字母都是自己的对象,有自己的属性


因此,在您的例子中,您将为您获得的每条消息创建一个消息对象/类的新实例。根据消息的存储/访问方式,有不同的方法来创建所有对象。例如,如果所有消息都存储在数据库或本地文件存储中,则可以创建一个新方法,如“getMessages()”,该方法自动提取所有消息,并创建一个包含所有对象实例的数组,以便于访问。

使用面向对象编程,类是对象,就像消息是一个对象一样。因此,我认为创建一个Message()类对象并为每个消息创建一个新的实例是最符合逻辑的

想象一下当你收到一封信的时候。信件类似于“类信件”,并包含属性,如“发件人”、“回信地址”、“收件人”、“邮件正文”、“发送日期”等。如果多封信件(即多个发件人、收件人和邮件正文)都打包在一个对象中,这是没有意义的,是吗?每个字母都是自己的对象,有自己的属性


因此,在您的例子中,您将为您获得的每条消息创建一个消息对象/类的新实例。根据消息的存储/访问方式,有不同的方法来创建所有对象。例如,如果所有消息都存储在数据库或本地文件存储中,则可以创建一个新方法,例如“getMessages()”,该方法自动提取所有消息,并创建一个包含所有对象实例的数组,以便于访问。

没有人能够回答这个问题,因为这实际上取决于用例;)我可以。我做到了。:)总有例外。但当你在学习时,你会学习并遵守规则,因此你可以在以后决定是否需要打破规则。:)但这样一个模糊的问题没有对错之分;)我认为一般来说,让多个对象实现读取同一个实体是错误的。但是如果你觉得这个问题太模糊,也许你应该投票结束它。我必须至少同意一点。没有人能回答这个问题,因为这实际上取决于用例;)我可以。我做到了。:)总有例外。但当你在学习时,你会学习并遵守规则,因此你可以在以后决定是否需要打破规则。:)但这样一个模糊的问题没有对错之分;)我认为一般来说,让多个对象实现读取同一个实体是错误的。但是如果你觉得这个问题太模糊,也许你应该投票结束它。我至少得同意一点。