标签: instance-variables

单击按钮创建对象实例

我目前正在创建一个非常简单的银行帐户程序:用户输入帐户持有人姓名,帐号和期初余额,然后按"继续"按钮通过存款和取款来使用该帐户.我写了一个单独的BankAccount类,其中包含所需的数据成员和方法.我在Continue按钮单击事件中放置了创建BankAccount对象的代码

BankAccount currentAccount = new BankAccount(acctName, acctNum, beginningBalance);
Run Code Online (Sandbox Code Playgroud)

但这似乎只使它成为该方法的本地,并且currentAccount在我为"记录交易"(存款和取款)按钮编写点击事件时无法识别.

设置BankAccount对象的方式和位置,以便在单击"继续"按钮并在"记录事务"按钮单击事件中识别时创建它?如果需要澄清,或者您需要查看我的部分或全部代码,请告知我们.

c# instance-variables buttonclick

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

尝试在构造函数中初始化数据成员,但它失败了.为什么?

结构指针的成员变量返回错误的数字.

这是结构声明:

struct Obj {
    int val;
    Obj(int val) { val = val; }
};
Run Code Online (Sandbox Code Playgroud)

这是它变得时髦的地方:

Obj* cool = new Obj(4);
cout << cool->val; // outputs a number that's not 4
cout << (cool->val == 4); // prints 0... interesting
Run Code Online (Sandbox Code Playgroud)

c++ struct instance-variables

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

将 Objective-C NSNumber 对象分配给 int 变量的说明?

谁能解释为什么这在 Objective-C 中有效?我希望它给出一个错误,因为一个对象被分配给一个 int 变量。我知道它确实有效,这很棒,但我想知道为什么允许这样做?

int i = [NSNumber numberWithInt:123];
Run Code Online (Sandbox Code Playgroud)

此外,这似乎存储了错误的值(即,在我的系统上,当我使用 NSLog 打印出“i”的值时,我得到的是“252711”而不是 123);但是,只有在我的主代码中声明和分配变量时。如果我将其声明为对象的实例变量,然后使用键值编码为其赋值,则它可以正常工作:

对象实例变量...

@interface myObject : NSObject
{
    int anInt;
}
Run Code Online (Sandbox Code Playgroud)

主要代码...

[myObject setValue:[NSNumber numberWithInt:123] forKey:@"anInt"];
NSLog(@"%@", [myObject valueForKey:@"anInt"]);
Run Code Online (Sandbox Code Playgroud)

这段代码按预期打印出“123”,但我不确定为什么在使用上面看似相似的方法时它无法正常工作。

objective-c instance-variables key-value key-value-coding

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

方法:使用默认值循环参数

我正在构建一个 Ruby 对象,该对象在其initialize方法中具有默认参数:

attr_accessor :one, :two, :three

def initialize(one: nil, two: nil, three: nil)
  @one = one
  @two = two
  @three = three
end
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这不是很 DRY,尤其是随着可初始化变量的数量增加。最终,我希望能够遍历每个参数并分配一个实例变量(splat 运算符和instance_variable_set

ruby constructor instance-variables splat

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

实例变量未在for循环中修改

我有一个带有实例变量的类,我想在循环中使用类方法修改,我正在做的简化版本:

class Example:
    def __init__(self,x,z):
        self.x=x
        self.z=z

    def run(self,y):

        temp_list=[self.x, self.z]

        for ind,item in enumerate(temp_list):
            temp_list[ind] = temp_list[ind]+y

        print (self.x, self.z)

ex = Example(5,6)
ex.run(5)
Run Code Online (Sandbox Code Playgroud)

我得到的输出是[5,6]而不是所需的[10,11].我想知道是否有人能指出我为何会发生这种情况的解释?

python for-loop class instance-variables

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

C# 中类变量和实例变量的区别

我正在完成基础编程课程,但我无法理解类变量和实例变量(静态和非静态)之间的区别。我需要在代码中确定两者之间的区别

\n\n
Class StudentDetails\n{\nInt rollNumber;\nString studentName;\n}\nStudentDetails firststudent= StudentDetails (19236, \xe2\x80\x9dThomas\xe2\x80\x9d);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我相信 rollNumber、studentName、19236 和“Thomas”都是实例变量,firststudent 是类变量。

\n\n

任何有关这方面的帮助将不胜感激,因为课程材料不是很有帮助。

\n

c# instance-variables static-variables class-variables

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

如何在 Kotin 的实例方法中使用构造函数中的属性?

这是我的代码。

class Repository(context: Context) {

    // Can access 'context' from here
    val mSharedPrefsProperties = context
        .getSharedPreferences(context.packageName.plus(".properties"), Context.MODE_PRIVATE)

    // Can't access 'context' in this function (unresolved reference: context)
    private fun getApiKey(): String {
        val apiKeys = context.resources.getStringArray(R.array.api_keys)
        val random = Random().nextInt(apiKeys.size)
        return apiKeys[random]
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法从函数内部的构造函数访问属性,还是需要将它们设为实例/局部变量?

android constructor scope instance-variables kotlin

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

在对象上声明boolean,不会更改其值

我只是弄清楚实例变量是如何工作的,但它让我有些奇怪.

public class DrumKit {
    boolean topHat = true;
    boolean snare = true;

    void playTopHat() {
        System.out.println("ding ding da-ding");
    }

    void playSnare(){
        System.out.println("bang bang ba-bang");        
    }
}

public class DrumKitTestDrive {
    public static void main(String [] args) {

        DrumKit d = new DrumKit();
        d.playSnare();
        d.snare = false;
        d.playTopHat();

        if (d.snare == true);{
            d.playSnare();  
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么可能输出:"bang bang ba-bang ding ding ding dang bang bang ba-bang"

而不是:"砰砰砰砰砰砰哒哒哒"

因为我认为圈套只会播放一次,因为我在d.playSnare()之后声明了它; 到d.snare = false;

java instance-variables

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

使用方法的返回值

我有一个Menu类,其方法显示菜单,存储然后返回用户所做的选择.

public class Menu {

    public static int menuSelect(){
        Scanner input = new Scanner(System.in);
        System.out.println("Hello, Please Select A Function: ");
        System.out.println("1) Sort All Banks Alphabetically ");
        System.out.println("2) Calculate Interest And Show Balance ");
        System.out.println("3) Transfer Money ");
        System.out.println("4) Exit ");

        int Select = input.nextInt(); 

        return Select;   
   }
}
Run Code Online (Sandbox Code Playgroud)

我想在我的main方法中使用返回值,但我不确定如何.我在主要方法中提出了一个对象:

Menu menuObject = new Menu();
Run Code Online (Sandbox Code Playgroud)

并添加:

Menu.menuSelect();
Run Code Online (Sandbox Code Playgroud)

我知道菜单运行但我希望从主类中的变量中返回选择返回值.任何帮助将非常感激.

java methods return instance-variables

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

局部变量和实例变量.Java的

所以我正在测试一些代码,他们在这里:

public class Phone {

    String phoneNumber = "1234";

    void setNumber(){
        String phoneNumber;
        phoneNumber = "4321";
    }
}

public class TestPhone {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Phone p1 = new Phone();
        p1.setNumber();
        System.out.println(p1.phoneNumber);
    }

}
Run Code Online (Sandbox Code Playgroud)

输出:

1234

为什么不4321呢?我叫setNumber所以phoneNumber应该分配给4321,我缺少什么?

java instance-variables local-variables

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