Questions tagged «methods»

方法是执行任务并与类或对象相关联的代码块。它与功能和过程的非面向对象的概念有关。

5
为什么Mockito不模拟静态方法?
我在这里阅读了一些有关静态方法的主题,并且我认为我理解滥用/过度使用静态方法可能导致的问题。但是我并没有真正理解为什么很难模拟静态方法的原因。 我知道其他模拟框架(例如PowerMock)可以做到这一点,但为什么Mockito不能? 我读了这篇文章,但作者似乎在宗教上反对这个词static,也许这是我的理解不周。 一个简单的解释/链接会很好。
267 java  methods  static  mockito 


8
如何显示对象的所有方法?
我想知道如何列出对象可用的所有方法,例如: alert(show_all_methods(Math)); 这应该打印: abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random,round, sin, sqrt, tan, …

20
无法在用其他方法定义的内部类中引用非最终变量
编辑:我需要更改几个变量的值,因为它们在计时器中运行了几次。我需要通过计时器在每次迭代中不断更新值。我无法将值设置为final,因为这将阻止我更新值,但是我遇到了在下面的第一个问题中描述的错误: 我以前写过下面的内容: 我收到错误消息“无法引用用其他方法定义的内部类内部的非最终变量”。 对于名为double的价格和称为priceObject的Price来说,这种情况正在发生。你知道我为什么会遇到这个问题吗?我不明白为什么我需要作最后声明。另外,如果您可以看到我正在尝试做什么,那么该怎么办才能解决该问题。 public static void main(String args[]) { int period = 2000; int delay = 2000; double lastPrice = 0; Price priceObject = new Price(); double price = 0; Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { price = priceObject.getNextPrice(lastPrice); System.out.println(); lastPrice = price; …


21
如果私有帮助器方法可以是静态的,则它们应该是静态的
假设我有一个要实例化的类。我在类中有几个私有的“帮助器”方法,它们不需要访问任何类成员,而仅对它们的参数进行操作,并返回结果。 public class Example { private Something member; public double compute() { double total = 0; total += computeOne(member); total += computeMore(member); return total; } private double computeOne(Something arg) { ... } private double computeMore(Something arg) {... } } 有没有指定任何特别的原因computeOne,并computeMore为静态方法-或任何特别的理由不? 将它们设置为非静态无疑是最容易的,即使它们可以肯定是静态的而不会引起任何问题。

9
为什么Python代码使用len()函数而不是length方法?
我知道python具有len()用于确定字符串大小的函数,但是我想知道为什么它不是字符串对象的方法。 更新资料 好吧,我意识到我很尴尬地犯了错误。__len__()实际上是字符串对象的方法。在字符串对象上使用len函数在Python中看到面向对象的代码似乎很奇怪。此外,看到__len__名字而不是len 也很奇怪。

3
X不实现Y(…方法具有指针接收器)
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3个月前关闭。 改善这个问题 关于“ X不能实现Y(...方法具有指针接收器) ”的事情已经有一些问答,但是对我来说,他们似乎在谈论不同的事情,而不适用于我的具体情况。 因此,我没有使问题变得非常具体,而是使之变得笼统和抽象-似乎有几种不同的情况可能导致此错误发生,请有人总结一下吗? 即,如何避免该问题,如果发生,可能性是什么?谢谢。

9
反射:如何使用参数调用方法
我试图通过反射与参数来调用方法,我得到: 对象与目标类型不匹配 如果我调用不带参数的方法,则效果很好。基于以下代码(如果我调用该方法)Test("TestNoParameters"),它可以正常工作。但是,如果我致电Test("Run"),我会得到一个例外。我的代码有问题吗? 我最初的目的是传递一个对象数组,例如,public void Run(object[] options)但这没有用,我尝试了一些简单的事情,例如字符串,但没有成功。 // Assembly1.dll namespace TestAssembly { public class Main { public void Run(string parameters) { // Do something... } public void TestNoParameters() { // Do something... } } } // Executing Assembly.exe public class TestReflection { public void Test(string methodName) { Assembly assembly = …

9
为什么需要在Python方法中显式包含“ self”参数?
在Python中的类上定义方法时,它看起来像这样: class MyClass(object): def __init__(self, x, y): self.x = x self.y = y 但是在某些其他语言(例如C#)中,您可以使用“ this”关键字来引用该方法所绑定的对象,而无需在方法原型中将其声明为参数。 这是Python中的一种故意的语言设计决策,还是有一些实现细节需要传递“ self”作为参数?
196 python  oop  methods  self 

5
接口方法中的最终参数-有什么意义?
在Java中,final在接口方法中定义参数并且在实现类中不遵循参数是完全合法的,例如: public interface Foo { public void foo(int bar, final int baz); } public class FooImpl implements Foo { @Override public void foo(final int bar, int baz) { ... } } 在上面的示例中,bar与VS类baz具有相反final定义的接口。 以相同的方式,final当一个类方法扩展另一个(无论是否扩展)时,不会强制执行任何限制abstract。 尽管final在类方法主体内部有一些实用价值,但final接口方法参数是否有任何规定?
189 java  class  interface  methods  final 

10
我可以在不包含Ruby模块的情况下调用它的实例方法吗?
背景: 我有一个模块,它声明了许多实例方法 module UsefulThings def get_file; ... def delete_file; ... def format_text(x); ... end 我想从一个类中调用其中一些方法。通常如何在红宝石中执行以下操作: class UsefulWorker include UsefulThings def do_work format_text("abc") ... end end 问题 include UsefulThings引入的所有方法UsefulThings。在这种情况下,我只想要format_text并且明确地不想get_file和delete_file。 我可以看到几种可能的解决方案: 以某种方式直接在模块上调用该方法,而无需在任何地方包含它 我不知道如何/是否可以这样做。(因此出现此问题) 不知何故包括 Usefulthings并且仅引入其中的某些方法 我也不知道该如何/是否可以做到 创建一个代理类,包括UsefulThings其中,然后委托format_text给该代理实例 这会起作用,但是匿名代理类是一个hack。uck 将模块分成2个或更多个较小的模块 这也将起作用,并且可能是我能想到的最好的解决方案,但是我宁愿避免使用它,因为最终会产生数十个模块,因此管理起来很麻烦 为什么在一个模块中有很多不相关的功能?它ApplicationHelper来自一个Rails应用程序,我们的团队事实上已将其确定为所有不够具体的东西的垃圾场。大多数情况下,独立实用程序方法随处可见。我可以将其分解为单独的帮手,但其中有30个,每个都只有一种方法...这似乎毫无用处
180 ruby  module  methods 

6
如何在Objective-C中传递多个参数?
我已经阅读了几篇有关Objective-C方法语法的文章,但我想我不理解一个方法的多个名称。 我试图创建一个名为方法getBusStops与NSString和NSTimeInterval参数和返回类型NSMutableArray。这就是我构造方法的方式,但显然在运行时会出错: - (NSMutableArray *)getBusStops:(NSString *)busStop (NSTimeInterval *)timeInterval; 我看到了另一个带有方法的示例: -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component 我不明白为什么这个方法每个参数都有一个方法名称。我应该对以下内容执行相同操作: - (NSMutableArray *)getBusStops:(NSString *)busStop forTime:(NSTimeInterval *)timeInterval



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.