gpt4 book ai didi

kotlin - 如何使用变量的主体将数据从变量传递到构造函数?

转载 作者:行者123 更新时间:2023-12-02 13:34:53 24 4
gpt4 key购买 nike

我正在尝试使用创建的变量将数据分配给我的类(class)。我想将变量用作成员资格类的实例。每当我传递任何值时,我都会得到一个错误。

error: no value passed for parameter '_number'


var member1 = membership()

error: unresolved reference: _number


member1._number = 1
我正在尝试将所有内容传递给所有属性。

我试图在没有任何构造函数的情况下创建类,但仍然会出错。我的目标是创建变量列表。
class membership(_number:Int, _name:String, _address:String, _zip:String, _phone:String, _memberSince:String, _memberType:Char)
{
var number: Int = _number;
var name: String = _name;
var address: String = _address;
var zip: String = _zip;
var phone: String = _phone;
var memberSince: String = _memberSince;
var memberType: Char = _memberType;

}

fun main(args: Array<String>) {



var member1 = membership()
member1._number = 1
member1._name = "George Jetson";
member1._address ="123 Main St.";
member1._zip = "99207";
member1._memberSince = "12/01/1997";
member1._memberType = 'L';
}

最佳答案

您已使用主要构造函数声明了membership类,该构造函数需要7个参数。因此,在实例化此类时,需要为这些参数提供值:

var member1 = membership(
_number = 1,
_name = "George Jetson",
_address ="123 Main St.",
_zip = "99207",
_memberSince = "12/01/1997",
_memberType = 'L'
)

如果要先创建该类的实例,然后一个一个地初始化其属性,则需要它具有无参数的构造函数:
class membership() { 

但是,您必须将其所有属性设置为可空或lateinit,因为现在无法在构造时提供其初始值:
class membership() {
var number: Int? = null
var name: String? = null
var address: String? = null
// etc
}

这样,您就可以根据需要在问题中对其进行初始化。

关于kotlin - 如何使用变量的主体将数据从变量传递到构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58573762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com