问题列表 - 第45196页

抽象类需要知道所有扩展类吗?

所以我有一个类,AbtractParent,以及扩展它的任意数量的子类.

每个子类都有一个与之关联的字符串.

最终,我希望能够编写代码

if(AbstractParent.doesStringRepresentSubClass("example String"))
   AbstractParent.getInstOfSubClassReppedBy("example String");
Run Code Online (Sandbox Code Playgroud)

我目前的解决方案是将地图存储为AbstractParent的静态变量,并让每个子类将自身的实例及其字符串添加到此映射中.

问题是,通过这样做,AbstractParent现在知道它的每个子类,这似乎与OOP的想法相反.

我唯一的解决方案是

  1. 有一个配置文件,其中每个子类写入其类名和字符串表示
  2. 每次我创建一个子类时,都会在doesStringRepresentSubClass中的if-else语句中添加一行代码.

他们是一个更好的,更多OOP正确的设计方式吗?

谢谢大家!

编辑1:字符串表示形式与类名称不同,因此不能使用反射强制转换为类型.

编辑2:这里的最终目标是遵循Open Close原则,因此创建子类应该只需要编辑子类文件.因此,工厂方法不能完全用于解决问题.

也就是说,将上面的代码分成工厂类和抽象父类绝对是我要实现的好设计.

java design-patterns

3
推荐指数
1
解决办法
513
查看次数

在Android设备上Intent.BATTERY_ACTION_CHANGED时,电池温度和电压的单位是多少?

我使用意图检索电池温度和电压信息Intent.ACTION_BATTERY_CHANGED,我得到的值非常奇怪.我无法得到任何线索:temperature=270而且voltage=3782!

这些价值观是什么?他们有任何单位,如摄氏度,华氏度或毫升或微伏?

java android temperature power-management

16
推荐指数
1
解决办法
5672
查看次数

在绘图窗口中放置自定义图像 - 作为自定义数据标记或注释这些标记

我有一组150x150px的png图像,以及它们对应的一组(x,y)坐标.有没有办法在网格上绘制图像?例如,我正在寻找一个R或Python解决方案来创建如下内容: 在此输入图像描述

python plot r matplotlib

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

x:Key ="{x:Type TextBox}"是做什么的?

一切都在标题中:

我不止一次读过设置这样的样式:

<Style TargetType="TextBox">...</Style>
Run Code Online (Sandbox Code Playgroud)

大致相当于:

<Style x:Key="{x:Type TextBox}" TargetType="TextBox">...</Style>
Run Code Online (Sandbox Code Playgroud)

(最后一次评论另一个问题)

两者都应该将样式应用于应用程序中的所有textBox(如果它们当然放在应用程序的资源中)

但是我在我的应用程序中都试过了,只有第二个用x:Key定义了.

它对我来说非常合乎逻辑,因为第一个不知道在没有任何x:Key属性集的情况下应用的位置,但那么第一个语法的重点是什么?

编辑:我的应用程序中的代码示例工作正常:

<Style x:Key="{x:Type ComboBoxItem}" TargetType="{x:Type ComboBoxItem}">
     <Setter Property="HorizontalContentAlignment" Value="Left"/>
     <Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

和代码不:

<Style TargetType="{x:Type ComboBoxItem}">
     <Setter Property="HorizontalContentAlignment" Value="Left"/>
     <Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

我写这个是为了摆脱你操纵现有ComboBox的itemsSource时用comboBoxItems得到的绑定问题.第一个代码工作正常,但第二个代码没有.

通过将horizo​​ntalContentAlignment设置为Right,您可以轻松地看到这一点

编辑2:这段代码只是放在App.xaml的资源字典中.用TargetType ="ComboBoxItem"替换TargetType ="{x:Type ComboBoxItem}"没有任何区别

编辑3:我刚刚意识到我可能忘记了确切的重要事项(对不起):尽管样式是在xaml中定义的,但我实际上是在我的代码中将控件添加到布局中,因为它们是动态添加的.可能是麻烦所在......

syntax wpf xaml

14
推荐指数
2
解决办法
9725
查看次数

jquery,如何将选定的选项滚动到可见视图中?

在这里我创建了一个示例来帮助我理解, http://www.jsfiddle.net/BLvsF/

我希望将 item-'a6' 滚动到可见的选择框中,我该怎么做?我想用 jquery 做同样的事情

$(document).ready(function() {
    $('#btn').click(function() {
        document.getElementById('a6').scrollIntoView();
        });
});
Run Code Online (Sandbox Code Playgroud)

但是,如何使用 jQuery 实现相同的功能?

我尝试使用 .get(0).scrollIntoView()。但仍然不适用。

$(document).ready(function() {
    $('#btn').click(function() {
        $('#a> option:selected').clone(false).appendTo('#b').get(0).scrollIntoView();
    });
});
Run Code Online (Sandbox Code Playgroud)

http://www.jsfiddle.net/CYQfD/

谢谢,伊莱恩

jquery

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

如果连接到互联网,在PHP脚本中确定?

如何从我的开发机器上运行的PHP脚本(不在某个服务器上)上检查我是否连接到互联网?

我运行脚本使用wget下载一组文件(可能存在也可能不存在).如果我在没有连接的情况下尝试下载wget,wget会继续下一个认为该文件不存在的内容,所以我需要在调用wget之前进行检查.

php wget internet-connection

3
推荐指数
1
解决办法
3936
查看次数

如何删除数组中索引X处的项?

可能重复:
如何从php中的数组中删除元素?

我有一系列的东西,例如汽车

$cars[0] = "audi";
$cars[1] = "saab";
$cars[2] = "volvo";
$cars[3] = "vw";
Run Code Online (Sandbox Code Playgroud)

如何从列表中删除"volvo"?

php

14
推荐指数
1
解决办法
721
查看次数

PowerMock:模拟静态方法(+在某些特定方法中返回原始值)

我使用的是PowerMock 1.4.7和JUnit 4.8.2

我只需要模拟一些静态方法,我希望其他人(来自同一个类)只返回原始值.当我模拟mockStatic并且不调用when().doReturn()所有静态方法时返回它们的默认值 - 如返回Object时为null或返回boolean时返回false等等.所以我尝试thenCallRealMethod在每个静态方法上显式使用 以返回默认实现(意味着没有模拟/没有假货),但我不知道如何在每个可能的参数变体上调用它(=我想要每个可能的输入调用原始方法).我只知道如何模拟具体的论证变异.

java mocking mockito powermock

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

request.env ['CONTENT_TYPE']和request.content_type之间有什么区别?

我看到两个不同的值request.env['CONTENT_TYPE']request.content_type.

从单独的应用程序,我发送请求到我的Rails应用程序并明确设置Content-Typetext/xml.

以下是我在Rails应用程序中看到的另一端:

request.env['CONTENT_TYPE'] = "text/xml"
request.content_type = "application/xml"
Run Code Online (Sandbox Code Playgroud)

request.content_type 实际上是 action_dispatch.request.content_type

  1. request.env['CONTENT_TYPE']和之间有什么区别request.content_type
  2. 为什么这两个值不同?

content-type ruby-on-rails httprequest actiondispatch ruby-on-rails-3

3
推荐指数
1
解决办法
880
查看次数

Spy ++ Tool的托管版本?

前一段时间,我需要一个类似Spy ++的应用程序来进行.NET UI调试.我发现了一篇旧的MSDN文章,其中包含一个类似的示例,但是它停止了在较新的.NET Framework版本中工作.

有没有人知道/编写了一个模仿Spy ++行为的应用程序并且在托管应用程序上工作(相反,显示托管事件/属性)并且可以在新的.NET框架上运行,最高可达4.0?

.net managed spy++

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