标签: instance

静态类vs实例类

重复

C#方法可以是静态的吗?


如果这个问题看起来很简单,请原谅我 - 我正在查看一些看起来相当不错的源代码,但它提出了一些问题......

如果给定的类没有成员数据 - 即它不维护任何类型的状态,那么将该类标记为静态方法的静态类是否有任何好处?

没有标记不保持静态状态的方法有什么好处吗?

谢谢!

编辑:由于有人提出它,我正在看的代码是用c#编写的.

c# static state instance

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

创建新实例或使用公共静态方法?

哪一个是我需要从多个页面调用方法的asp.net应用程序的更好方法?或者还有第三种更好的可能性?

c# static public instance

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

Java:创建对象实例时带括号的类名

在java代码中:

// Define ActionListener

ActionListener actionListener = new ActionListener() {

public void actionPerformed(ActionEvent actionEvent) {

        JButton button = **(JButton)actionEvent.getSource();**
        int red = random.nextInt(255);
        int green = random.nextInt(255);
        int blue = random.nextInt(255);
        button.setBackground(new Color(red, green, blue));

    }
};
Run Code Online (Sandbox Code Playgroud)

突出显示的(之间****)代码有什么作用?

我发现研究这个主题非常困难,因为我不知道要使用哪些搜索术语.:○

希望有人可以提供帮助 TIA

java class object instance parentheses

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

将__delitem__与类对象一起使用而不是Python中的实例

我希望能够使用__delitem__类级变量.我的用例可以在这里找到(使用的答案_reg_funcs),但它基本上涉及一个装饰器类,它保存了它所装饰的所有函数的列表.有没有办法让类对象支持__delitem__?我知道我可以专门为此目的保留一个实例,但我宁愿不必那样做.

class Foo(object):
    _instances = {}

    def __init__(self, my_str):
        n = len(self._instances) + 1
        self._instances[my_str] = n
        print "Now up to {} instances".format(n)

    @classmethod
    def __delitem__(cls, my_str):
        del cls._instances[my_str]


abcd = Foo('abcd')
defg = Foo('defg')

print "Deleting via instance..."
del abcd['abcd']
print "Done!\n"

print "Deleting via class object..."
del Foo['defg']
print "You'll never get here because of a TypeError: 'type' object does not support item deletion"
Run Code Online (Sandbox Code Playgroud)

python class instance class-method

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

是否可以创建具有相同输入的唯一实例?

我正在研究Python中的代码,它创建了由Bond和Element对象组成的Compound对象(如化合物).这些Element对象是通过一些关于它们的输入(名称,符号,原子序数,原子质量等)创建的.如果我想用Element对象填充数组,并且我希望Element对象是唯一的,那么我可以做一些事情并保持其余部分不变,但是它们都应该具有与'Hydrogen'元素相关的信息.

这个问题Python为单个对象/类创建多个实例让我相信我应该为Element创建子类 - 即Hydrogen对象和Carbon对象等.

这是否可以在不创建子类的情况下实现,如果是这样,怎么办?

python class object instance python-2.7

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

Python类最佳实践

我想知道在使用Python中的OPP/Classes/Instances时,我应该总是在从 - 读取类的属性/变量时使用getAttr()/ setAttr().或者直接处理变量/属性(例如self.my_attr ="some_value")会是更好的做法吗?

直接访问Class attr

class MyClass(object):
    def __init__(self):
        super(MyClass, self).__init__()
        self.my_attr = 'My_Value'

    def doSomething(self):
        localVariable = self.my_attr
        print localVariable
Run Code Online (Sandbox Code Playgroud)

使用Class的方法访问Class的attr

class MyClass(object):
    def __init__(self):
        super(MyClass, self).__init__()
        self.my_attr = 'My_Value'

    def getMyAttr(self):
        return self.my_attr

    def doSomething(self):
        localVariable = self.my_attr
        print localVariable
Run Code Online (Sandbox Code Playgroud)

稍后编辑:

阅读"面向对象思想过程"一书(Matt Weisfeld:开发人员图书馆)......作者在其中不断说明:

"......对象内部属性的访问应该由对象本身控制 - 没有其他对象应该直接更改另一个对象的属性......"

"...如果您控制对属性的访问,当出现问题时,您不必担心跟踪可能已更改属性的每一段代码 - 它只能在一个地方更改(设置者) ......"

那时我会坚持使用二传手和吸气剂.这里建议/提到Python的@property和@ .setter使它更容易.

python methods class instance attr

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

将值设置为泛型类型<T>

我有这个函数: 在这种情况下,变量c获取我的类的所有属性<T>: c- >
Id
Key
Value

public List<T> ReadStoreProceadure<T>(string storeName)
{
    var result = new List<T>();
    var instance = (T) Activator.CreateInstance(typeof (T), new object[] {});
    var c = typeof (T);
    var data = DataReader.ReadStoredProceadures(_factibilidad, storeName); // This part is returning verified data and it's ok

    while (data.Read())
    {
        if (data.HasRows)
        {
            foreach (var item in c.GetProperties())
            {
                //item.SetValue(c, item.Name, null);
            }
        }
    }     
}
Run Code Online (Sandbox Code Playgroud)

我如何将这些值添加到我的实例instance并将其添加到我的result变量?这是可能的?

c# reflection instance generic-type-argument

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

将静态列表分配给非静态列表

我来到这里是因为我对Unity和C#有一个奇怪的问题,我无法弄清楚如何解决这个问题.

我有两个C#脚本:

  • ScriptA实例化一次并具有静态变量.它有一个静态列表,其中包含路径的点.此列表随时间而变化.

  • ScriptB被多次实例化(它附加到敌人身上).在Start()上,它设置一个等于当前ScriptA.listOfPoint的非静态列表

问题是,这个非静态列表似乎更新了 ScriptA.listOfPoints.我只想ScriptA.listOfPoints在实例化ScriptB时有一个等于state 的列表.

我在这做错了什么?

提前致谢 :)

静态的 :

//ScriptA    
public static List<int> listOfPoints = new List<int>();
public static void pathUpdate() //get called every 2secs
{
    //listOfPoints is modified
}
Run Code Online (Sandbox Code Playgroud)

敌人:

//ScriptB
private List<int> nonStaticListOfPoints = new List<int>();
void Start ()
{
    nonStaticListOfPoints = ScriptA.listOfPoints;
}
Run Code Online (Sandbox Code Playgroud)

c# static list instance unity-game-engine

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

新功能返回新功能

我对JavaScript中的new关键字感到困惑.以下面的例子为例

function A (value) {
    this.a = value;
}

function B (value) {
    return new A (value);
}

console.log (    B (0)); // { a: 0 }
console.log (new B (0)); // { a: 0 }
Run Code Online (Sandbox Code Playgroud)

我希望能够创建一个新的"A"实例,而不必使用"new".为此,我有"B()",然而,当我调用"new B()"时,它似乎与"B()"做同样的事情,好像"new"被忽略了.在这两种情况下,instanceof等于"A".到底发生了什么?

javascript oop factory instance node.js

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

Django - 如何将实例分配给外键属性

我在为新对象分配外键属性时遇到问题.当我试图让我得到这个错误

无法分配"(<ConceptType:Producto>,)":"Receipt.concept"必须是"ConceptType"实例.

嗯,这是视图中的代码

if form.is_valid():
    receipt = form.save(commit=False)

    receipt.concept = ConceptType.objects.get(id=1),
Run Code Online (Sandbox Code Playgroud)

这是用于使用django-afip创建收据(https://gitlab.com/WhyNotHugo/django-afip)

谢谢

django instance

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