Questions tagged «object»

对象是可以用编程语言中的命令操纵的任何实体。对象可以是值,变量,函数或复杂的数据结构。在面向对象的编程中,对象是指类的实例。


2
Pickle和Shelve有什么区别?
我是第一次学习对象序列化。我尝试阅读和“搜索”模块中腌制和搁板的差异,但是我不确定我是否理解。什么时候使用哪个?Pickle可以将每个python对象转换为字节流,这些字节流可以保存到文件中。那为什么我们需要搁置模块呢?泡菜不是更快吗?

4
如何动态创建新属性
如何从对象方法内的给定参数创建属性? class Foo{ public function createProperty($var_name, $val){ // here how can I create a property named "$var_name" // that takes $val as value? } } 我希望能够像这样访问该属性: $object = new Foo(); $object->createProperty('hello', 'Hiiiiiiiiiiiiiiii'); echo $object->hello; 我是否有可能将财产设为公开/受保护/私有?我知道在这种情况下它应该是公共的,但是我可能想添加一些魔术方法来获取受保护的属性和东西:) 我想我找到了解决方案: protected $user_properties = array(); public function createProperty($var_name, $val){ $this->user_properties[$var_name] = $val; } public function …
74 php  object  properties 

6
按对象键值对javascript中的数组进行排序
您将如何根据距离对带有这些对象的数组进行排序。这样您就可以将对象从最小距离到最大距离进行排序? Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...} Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...} Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...} Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

3
Javascript-在对象中存储函数-不好的做法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 将函数存储在对象中而不是仅仅定义它们(并因此在全局范围内)是否被认为是不好的编码习惯? 考虑: 1。 Foo = { bar: function() { alert("baz"); } } Foo.bar(); 与 2。 function bar() { alert("baz"); } bar(); 当然,第二个示例的代码可能会少一些,但是当您开始获得许多功能时-它将变得混乱。我发现,例如,使用它Game.update()而不是使用updateGame(); 或类似。深入了解Game.notify.admin(id)等等后,它甚至可以提供更漂亮的代码。 通过将函数存储在对象中是否有任何弊端?

12
Python检查类的实例
有什么方法可以检查对象是否是类的实例?不是具体类的实例,而是任何类的实例。 我可以检查对象不是类,不是模块,也不是追溯等,但是我对简单的解决方案感兴趣。

3
使用self.xxxx作为默认参数-Python
我正在尝试简化我的作业问题之一,并使代码更好一点。我正在使用的是二进制搜索树。现在,我的Tree()班级中有一个函数可以查找所有元素并将它们放入列表中。 tree = Tree() #insert a bunch of items into tree 然后我使用makeList()函数从树中取出所有节点,并将它们放入列表中。要调用该makeList()函数,我要做tree.makeList(tree.root)。对我来说,这似乎有些重复。我已经用调用了树对象,tree.所以tree.root只是浪费了一点输入。 现在,makeList函数为: def makeList(self, aNode): if aNode is None: return [] return [aNode.data] + self.makeList(aNode.lChild) + self.makeList(aNode.rChild) 我想使aNode输入一个默认参数,例如aNode = self.root(它不起作用),这样我就可以用来运行该函数tree.makeList()。 第一个问题是,为什么这样不起作用? 第二个问题是,有没有一种方法可以起作用?如您所见,该makeList()函数是递归的,因此我无法在该函数的开头定义任何内容,否则会遇到无限循环。 编辑 这是所有要求的代码: class Node(object): def __init__(self, data): self.data = data self.lChild = None self.rChild = None class …

4
如何从对象获取值(默认值)
我经常发现自己将配置值传递给访问它们的函数,如下所示: var arg1 = 'test1'; if(isUndefined(config.args.arg1)){ arg1 = config.args.arg1; } var arg2 = 'param2'; if(isUndefined(config.args.arg2)){ arg2 = config.args.arg2; } var arg3 = '123'; if(isUndefined(config.args.arg3)){ arg3 = config.args.arg3; } 以后我像这样使用它们: var url = '<some-url>?id='+arg1+'&='+arg2 +'=' + arg3; jQuery / ExtJS或任何其他框架是否提供了一种以简单的方式访问此类变量并为变量提供默认值的解决方案? 就像是: getValueOfObject(config,'args.arg3','<default>'); 还是为此提供标准解决方案。 注意: 我也在考虑您具有默认值的常见模式 var defaults = { args: { …

4
如何在RESTful API中处理对象层次结构?
我目前正在为现有的PHP应用程序设计API,为此,我正在研究REST作为一种明智的体系结构方法。 我相信我对关键概念有一个合理的了解,但是我正在努力寻找能够解决对象层次结构和REST的人。 这是问题所在... 在[应用程序]业务对象层次结构中,我们有: Users L which have one-to-many Channel objects L which have one-to-many Member objects 在应用程序本身中,我们使用延迟加载方法根据需要用这些对象的数组填充User对象。我相信用面向对象的术语讲,这是对象聚合,但是我已经看到了各种命名不一致的问题,并且不关心就精确命名约定发动战争。 现在,考虑一下我有一些松散耦合的对象,这些对象可能会/可能不会填充,这取决于应用程序的需求。 从REST的角度来看,我正在尝试确定应采用的方法。这是我目前的想法(暂时仅考虑GET): 选项1-完全填充对象: GET api.example.com/user/{user_id} 读取User对象(资源),并返回带有所有可能的Channel和Member对象的用户对象,并预先加载和编码(JSON或XML)。 优点:减少对象数量,无需遍历对象层次结构 缺点:必须完全填充对象(昂贵) 选项2-填充主要对象,并包括指向其他​​对象资源的链接: GET api.example.com/user/{user_id} 读取用户对象(资源),并返回用户对象填充的用户数据和两个列表。 每个列表都引用适当的(子)资源,即 api.example.com/channel/{channel_id} api.example.com/member/{member_id} 我认为这与超媒体的含义很接近(或完全一样)-客户端可以根据需要获取其他资源(只要我合理地标记它们)。 优点:客户端可以选择加载下属,否则,可以更好地分离对象作为REST资源。 缺点:需要进一步的行程才能获得辅助资源 选项3-启用递归检索 GET api.example.com/user/{user_id} 阅读用户对象,并包括指向子对象列表的链接,即 api.example.com/user/{user_id}/channels api.example.com/user/{user_id}/members / channels调用将以以下形式返回频道资源列表: api.example.com/channel/{channel_id} 优点:主要资源公开了获取子目录的位置,而不是子目录(更RESTful?),不需要先要求下级,下级列表生成器(/ channels和/ members)提供了接口(类似方法)响应更多的服务喜欢。 缺点:现在需要三个调用才能完全填充对象 选项4-(重新)考虑REST的对象设计 …
72 api  class  rest  object  hierarchy 

2
如何遍历Javascript对象的属性名称?
我想从Javascript对象获取属性名称以动态构建表。例: var obj = {'fname': 'joe', 'lname': 'smith', 'number': '34'}; for (var i = 0; i < obj.properties.length; i++) { alert(' name=' + obj.properties[i].name + ' value=' + obj.properties[i].value); } 会警告: name=fname value=joe name=lname value=smith name=number value=34 然后我可以使用这样的对象构建表: var obj = { 'players': [ { 'fname': 'joe', 'lname': 'smith', 'number': …

5
如何访问数组/对象?
我有以下数组,当我做得到print_r(array_values($get_user));: Array ( [0] => 10499478683521864 [1] => 07/22/1983 [2] => email@saya.com [3] => Alan [4] => male [5] => Malmsteen [6] => https://www.facebook.com app_scoped_user_id/1049213468352864/ [7] => stdClass Object ( [id] => 102173722491792 [name] => Jakarta, Indonesia ) [8] => id_ID [9] => El-nino [10] => Alan El-nino Malmsteen [11] …

4
如何在PHP中将字符串转换为JSON对象
我从SQL查询中得到以下结果: {"Coords":[ {"Accuracy":"65","Latitude":"53.277720488429026","Longitude":"-9.012038778269686","Timestamp":"Fri Jul 05 2013 11:59:34 GMT+0100 (IST)"}, {"Accuracy":"65","Latitude":"53.277720488429026","Longitude":"-9.012038778269686","Timestamp":"Fri Jul 05 2013 11:59:34 GMT+0100 (IST)"}, {"Accuracy":"65","Latitude":"53.27770755361785","Longitude":"-9.011979642121824","Timestamp":"Fri Jul 05 2013 12:02:09 GMT+0100 (IST)"}, {"Accuracy":"65","Latitude":"53.27769091555766","Longitude":"-9.012051410095722","Timestamp":"Fri Jul 05 2013 12:02:17 GMT+0100 (IST)"}, {"Accuracy":"65","Latitude":"53.27769091555766","Longitude":"-9.012051410095722","Timestamp":"Fri Jul 05 2013 12:02:17 GMT+0100 (IST)"} ] } 当前是PHP中的字符串。我知道它已经是JSON形式,是否有一种简单的方法可以将其转换为JSON对象? 我需要将其作为一个对象,以便可以像“ Coords”一样添加一个额外的项目/元素/对象。
71 php  json  string  object 


7
获取PHP stdObject中的第一个元素
我有一个看起来像这样的对象(存储为$ videos) object(stdClass)#19 (3) { [0]=> object(stdClass)#20 (22) { ["id"]=> string(1) "123" etc... 我想获取第一个元素的ID,而不必循环访问它。 如果它是一个数组,我会这样做: $videos[0]['id'] 它曾经这样工作: $videos[0]->id 但是现在我在上面显示的行上收到一个错误“无法将stdClass类型的对象用作数组...”。可能是由于PHP升级。 那么,如何不循环就获得第一个ID?可能吗? 谢谢!

11
如何在JavaScript中打印对象数组?
我已经在JavaScript中创建了一个对象数组。如何在浏览器窗口中打印对象数组,类似于print_rPHP中的函数? var lineChartData = [{ date: new Date(2009, 10, 2), value: 5 }, { date: new Date(2009, 10, 25), value: 30 }, { date: new Date(2009, 10, 26), value: 72, customBullet: "images/redstar.png" }];

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.