问题列表 - 第23584页

学习OOP设计

我读过Head First Java,我理解OOP是如何工作的.这是我的问题:我是一名PHP程序员,虽然我在PHP中使用了OOP,但我很难弄清楚应该是什么对象以及提供它的方法.

例如,假设我有一个允许人们登录和编辑文档的应用程序.如果只有一个实例,为什么文档应该是一个对象?我应该将deleteDocument()方法提供给文档对象还是管理对象?该文档是被删除的文档,但管理员是执行该操作的文档.

所以我真正的问题是,来自程序背景,我如何弄清楚应该是什么对象以及应该有什么方法?

oop

10
推荐指数
1
解决办法
2822
查看次数

GCC为boost :: shared_ptr取消引用发出额外的代码

我有以下代码:

#include <boost/shared_ptr.hpp>

struct Foo { int a; };
static int A;

void
func_shared(const boost::shared_ptr<Foo> &foo) {
    A = foo->a;
}

void
func_raw(Foo * const foo) {
    A = foo->a;
}
Run Code Online (Sandbox Code Playgroud)

我认为编译器会创建相同的代码,但对于shared_ptr版本,会发出额外的看似冗余的指令.

Disassembly of section .text:

00000000 <func_raw(Foo*)>:
   0:   55                      push   ebp
   1:   89 e5                   mov    ebp,esp
   3:   8b 45 08                mov    eax,DWORD PTR [ebp+8]
   6:   5d                      pop    ebp
   7:   8b 00                   mov    eax,DWORD PTR [eax]
   9:   a3 00 00 00 00          mov    ds:0x0,eax
   e:   c3                      ret
   f: …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction assembly gcc boost

4
推荐指数
1
解决办法
318
查看次数

c#通用列表

我使用通用列表将不同实体的数据填充到一组列表中,如下所示:

List<Foo> foos ..
List<Bar> bars ..
Run Code Online (Sandbox Code Playgroud)

我需要将这些列表写入文件,我有一个util方法来使用反射来获取属性的值等.

我想要做的是:使用单一方法将这些文件写入文件,例如:

 void writeToFile(a generic list)
 {
  //Which i will write to file here.
 }
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我希望能够打电话:

writeToFile(bars);
writeToFile(foos);
Run Code Online (Sandbox Code Playgroud)

.net c# generics methods list

1
推荐指数
2
解决办法
412
查看次数

在Emacs中使用SVN有一个很好的扩展吗?

我已经尝试过psvn.el,但是你正在查看文件的命令只是可怕的:M-x svn-file-show-svn-diff.我尝试安装vc-svn.el,但无法在我的版本的Emacs上运行:2004-03-10的NYAUMO的GNU Emacs 21.3.1(i386-mingw-nt5.1.2600).我已经尝试将vc-snv.el的副本放在我的site-lisp目录中,但是当我尝试运行命令"Mx vc-diff"时,它说我的文件"不受版本控制".

Emacs的wiki页面,其中主要集中在VC-svn.el,似乎是可怕的过时,因为很多的链接不工作.

svn emacs

6
推荐指数
2
解决办法
6678
查看次数

将两个UIScrollView连接在一起

这是我一直在研究的一个棘手的iPhone问题.我在页面上有三个UIScrollViews,一个只能水平滚动,一个只能垂直滚动,另一个水平和垂直滚动.我想将视图锁定在一起,以便水平唯一滚动视图的水平位置与主滚动视图的水平位置匹配,同样垂直滚动视图,以便拖动主滚动视图来控制水平和垂直滚动视图.

问题是,我完全难过了.我在Apple文档中查看过,但似乎没有任何方法可以正式执行此操作.有人认为我曾经以某种方式"克隆"任何滚动视图上的任何触摸到另外两个上的点,但我不知道如何做到这一点.如果有人对此有任何想法,我会非常感激.

编辑:我尝试了子类化UIScrollView的建议并重写touchesMoved以在其他滚动视图上调用touchesMoved.不幸的是,touchesMoved没有被调用滚动动作,因为UIScrollView以某种方式截取这些动作并使用它们来控制它的滚动.我开始寻找更多低级别的东西并找到核心动画滚动图层,但理想情况下我不想从头开始重新创建UIScrollView.还在努力想出这个.

iphone

5
推荐指数
1
解决办法
2186
查看次数

使用linq复制数据库记录

有没有办法在c#中用linq复制db记录到sql?

Id [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[Foo] [nvarchar](255) NOT NULL,
[Bar] [numeric](28,12) NOT NULL,
...
Run Code Online (Sandbox Code Playgroud)

鉴于上面的表格,我想复制一条记录(但是给它一个不同的id),以便在以后添加到数据库和Linq dbml文件的新字段仍然可以复制而不必更改复制记录的代码.

即我不想为newRecord.Foo = currentRecord.Foo;桌子上的所有字段写.

c# linq-to-sql

5
推荐指数
1
解决办法
2863
查看次数

'if' - 'j'函数中的'else'语句

我在JavaScript和jQuery中有以下代码:

     $("<li />")

     .html('Some HTML')
Run Code Online (Sandbox Code Playgroud)

我希望能够通过使用if- else语句来更改.html的内容.我的代码应该是这样的,但它不起作用.

var showinfo = <?php echo '$action'; ?>

$("<li />")

if (showinfo == 'action1'){
    .html('Some HTML')
else {
    .html('Other HTML')
}
Run Code Online (Sandbox Code Playgroud)

我该怎么改变它?

javascript jquery if-statement

1
推荐指数
1
解决办法
2万
查看次数

重力排序:这可能是以编程方式吗?

我最近一直在考虑在排序算法中使用面向对象的设计.然而,我无法找到一种合适的方法来进一步制作这种在O(n)时间内进行排序的排序算法.

好的,这是我一周以来的想法.我有一组输入数据.我将为每个输入数据分配一个质量(假设输入数据的类型Mass和类型Sphere.如果我们假设所有对象都是完美的球形物体,其形状与其质量成比例,则最重的物体首先接触地面.).我将把所有输入数据放在距离地球相同距离的空间中.我会让他们自由落体.根据引力定律,最重的一个首先击中地面.它们命中的顺序将为我提供排序数据.这在某种程度上很有趣,但在下面我觉得应该可以使用我迄今为止学到的OO

真的有可能制作一种使用引力拉动场景的分类技术,还是我愚蠢/疯狂?

编辑:同时关闭所有撞击地面的物体,因此我引入了球形物体概念.

sorting oop algorithm gravity data-structures

19
推荐指数
5
解决办法
1万
查看次数

通用JMS客户端

有谁知道编写通用JMS客户端是否可行- 即.与不同提供商的JMS合作的一个(例如Sonic,IBM SIB,Jboss等)?

每次我编写JMS客户端代码时,它总是非常特定于实现,具有依赖的JAR和Context类.

谢谢.

java jms

5
推荐指数
2
解决办法
5907
查看次数

嵌入pascal

是否有人知道可以嵌入C++(或Pascal以外的任何其他东西)应用程序的Pascal解释器/编译器?我正在克隆(缺少一个更好的词)一个使用Object-Pascal兼容的脚本语言并且需要与脚本兼容的应用程序.我最终会写一个翻译吗?(!)

scripting pascal embedding

8
推荐指数
1
解决办法
1983
查看次数