标签: instantiation

在Python中初始化关键字args

为什么如下:

class A(object):
    def __init__(self, var=[]):
        self._var = var
        print 'var = %s %s' % (var, id(var))

a1 = A()
a1._var.append('one')

a2 = A()
Run Code Online (Sandbox Code Playgroud)

造成:

var = [] 182897439952
var = ['one'] 182897439952
Run Code Online (Sandbox Code Playgroud)

我不明白为什么在使用可选关键字参数时它没有使用列表的新实例,有人能解释一下吗?

python arguments initialization instantiation

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

如何在VHDL中从内部架构写入两个输出端口?

尝试在VHDL中将组件连接到父层次结构的两个输出端口时遇到问题.由于物理连接只能通过"端口映射"语句完成,因此无法将本地信号连接到多个输出端口.这是一个例子:

在此输入图像描述

上述电路的描述应该是smth.像这样:

entity HIER is
port (
    IN1 : in bit;
    OUT1, OUT2 : out bit);
end hier;

architecture HIER_IMPL of HIER is 
   component BUF is 
      port (a : in bit; o : out bit);
   end component;
begin
   BUF1 : BUF port map (a => IN1, o => OUT1, o => OUT2);
end HIER_IMPL;
Run Code Online (Sandbox Code Playgroud)

但是,输出端口"o"与OUT1和OUT2的双重分配将不起作用,因为它在VHDL中是禁止的.

instantiation vhdl variable-assignment

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

投射通用列表

List<Integer> list0 = new List1<Integer>();
Run Code Online (Sandbox Code Playgroud)

a)java中的单词"List"是一个关键字吗?

b)创建对象时,两侧的类名不应该相同吗?例如:

Point x = new Point(1,2)
Run Code Online (Sandbox Code Playgroud)

c)以下代码是什么意思?

List<Integer> list0 = new List1<Integer>();
Run Code Online (Sandbox Code Playgroud)

java generics list instantiation

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

Ada中的编译器放弃了Generic类型的包实例化

好的,所以我尝试运行调用包dirforinv.adb的代码:

WITH  Text_IO;
WITH  Ada.Numerics.Generic_Real_Arrays;
WITH  Ada.Numerics.Generic_Elementary_functions;
WITH  Ada.Strings.Fixed;
WITH  dirforinv;
PROCEDURE  levfordir  IS

J : CONSTANT  Integer := 100;

TYPE  Real  IS DIGITS  13;

PACKAGE  Real_IO  IS NEW  Text_IO.Float_IO   (Real);
PACKAGE  Int_IO   IS NEW  Text_IO.Integer_IO (Integer);

TYPE  Gen_arr  IS ARRAY (INTEGER RANGE <>, INTEGER RANGE <>)  OF  Real;
TYPE  var_array  IS ARRAY (INTEGER RANGE <>)  OF  Real;

PACKAGE  Real_arrays  IS NEW Ada.numerics.Generic_Real_Arrays (Real);
USE      Real_arrays;
PACKAGE  sdirect      IS NEW dirforinv (var_array, Gen_arr);
PACKAGE  Math         IS NEW Ada.numerics.Generic_Elementary_functions (Real);
USE …
Run Code Online (Sandbox Code Playgroud)

ada instantiation

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

c#使用未分配的局部变量或对象实例未设置为引用?

以下是一段似乎没有在c#中工作的代码,尽管它在c ++中似乎是可以接受的.C#似乎有不同的对象实例化标准.

                IList<PointF> vertices = null;

                float radius = (int)(bitmap.Width/3);

                for (double theta = 0; theta < 2 * 3.14; theta += 0.1)
                {
                    PointF temp = new PointF();
                    temp.X = centre.X + radius*((float)(Math.Cos(theta)));
                    temp.Y = centre.Y + radius*((float)(Math.Sin(theta)));
                    vertices.Add(temp);
                }
Run Code Online (Sandbox Code Playgroud)

IList是一个接口,而PointF是一个结构.Tbh我不知道实现接口和类时的差异.

如果我没有为顶点指定"null",则代码不会编译.但是,如果我分配null然后在运行时我得到一个错误"对象实例未设置为对象的引用"(因为顶点被声明为null).我怎样才能解决这个错误?

c# null object instantiation

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

在Scala中实例化类型参数类的最佳方法

我想要一个可以像列表一样使用的Queue类.

例如,

val q = Queue()
Run Code Online (Sandbox Code Playgroud)

将实例化一个空队列.

为此,我尝试使用一个伴侣类:

object Queue {
    def apply() = new Queue[Any]
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

scala list instantiation typeclass empty-list

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

通过指针进行C++实例化

这是我的代码:

#include <iostream>
using namespace std;
class form{
public:
    form(int c ){
        code = c;
    }
    int code;
};
void createForm(form* f,int c){
    f = new Form(c);
}
int main(){
    form* f1;
    form* f2;
    createForm(f1,1111);
    createForm(f2,2222);
    cout<<f1->code<<endl;
    cout<<f2->code<<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果,我没有看到任何打印出来的东西.我知道实际上并没有创建f1和f2.所以我想知道 我是否可以像这样实例化一个类?如果是,那怎么样?

c++ pointers class instantiation

0
推荐指数
2
解决办法
96
查看次数

在c ++中创建派生抽象类的实例

我有这个问题,不知道如何解决它.

假设我有这些基类:

class ValueBase
{
    private:
    int base_value;

    public:
    int GetValue();
    void SetValue(int val);
    virtual ValueBase* Meet(ValueBase* const a, ValueBase* const b) = 0;
}

class NodeBase
{
    private:
    ValueBase* base_nodeValue;

    public:
    bool AddValue(int val);
}
Run Code Online (Sandbox Code Playgroud)

和派生类:

class Value : public ValueBase
{
    public:
    Value* Meet(ValueBase* a, ValueBase* b) override;
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法来创建类的实例Value的方法AddValue的类NodeBase?我知道我应该制作AddValue纯虚拟并在派生类中实现它NodeBase,但是有可能没有这个选项吗?我可以使用例如模板方法或可能回调方法Value来构造该对象吗?或者这样做太邪恶了?

编辑:我无法访问类Value中的派生类NodeBase

c++ oop inheritance abstract-class instantiation

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

为什么可以将变量分配给接口类型?

我是Java的新手,正在尝试学习界面的概念.我在网上看到了下面的代码.我知道接口无法实例化.我的问题是,WatchService,Path,WatchKey和WatchEvent都是接口,为什么变量可以分配给接口类型?实例化是一样的吗?

import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.Paths;
import static java.nio.file.StandardWatchEventKinds.ENTRY_CREATE;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;

public class WatchServices {

    public static void main(String[] args) throws IOException {
        WatchService ws1 = FileSystems.getDefault().newWatchService();

        Path p1 = Paths.get("/Users/justin/Desktop/Codes Netbean/JavaRandom");

        WatchKey wk1 = p1.register(ws1, ENTRY_CREATE);

        while(true){
            for(WatchEvent<?> event : wk1.pollEvents()){
                System.out.println(event.kind());
                Path file  = (Path)event.context();
                System.out.println(file);
            }
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

java interface instantiation

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

VB.net类和函数实例 - 最有效的方法

我想知道你们在这种情况下会做些什么.

我基本上是为Person返回一个数据集,但我想知道最有效的做事方式.

Public Class TestClass
    Public Shared Function returnPersonData() As Person
        Dim p As New Person
        p.Address = "Here and there"
        p.Name = "Mike"
        p.Career = "Pilot"
        Return p
    End Function
End Class
Run Code Online (Sandbox Code Playgroud)

人员类:

Public Class Person
    Public Property Name As String
    Public Property Address As String
    Public Property Career As String
End Class
Run Code Online (Sandbox Code Playgroud)

然后我会在另一个类中执行此操作来获取名称:

Dim name As String = TestClass.returnPersonData.Name
Dim address As String = TestClass.returnPersonData.Address
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么returnPersonData每次我需要提取信息的名称,地址和职业时它重新运行该功能?为什么我不能只调用一次该函数,将其保存在数据集中,然后只是引用它?

vb.net class function instantiation

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