Class Kotlin为8位仿真器创建Word类
我正在寻找一个6502仿真器的复活的帮助,这个仿真器是我在几个月前用Java编写的,现在转换成Kotlin。是的,有很多,但这是我的实现,所以我可以学习如何创建模拟器,现在,如何使用Kotlin 我需要地址的Word类,即:Class Kotlin为8位仿真器创建Word类,class,kotlin,emulation,word,6502,Class,Kotlin,Emulation,Word,6502,我正在寻找一个6502仿真器的复活的帮助,这个仿真器是我在几个月前用Java编写的,现在转换成Kotlin。是的,有很多,但这是我的实现,所以我可以学习如何创建模拟器,现在,如何使用Kotlin 我需要地址的Word类,即: class Word(initValue: Int = 0x0000) { var value = initValue get() = field set(newValue) { field = newValu
class Word(initValue: Int = 0x0000) {
var value = initValue
get() = field
set(newValue) {
field = newValue and 0xFFFF
}
}
我不能扩展Int,因此我假设我的类中有一个内部副本(如果有更好的方法,我很乐意听到)
使用此选项:
val address = Word()
很简单,我可以将它与许多address.value+=123
一起使用,以移动到另一个位置。除此之外,我还可以添加函数来执行add、Inc、Dec等
但是,有没有办法修改该类,以便:
address += 123
直接的
我不确定该如何或采用什么方法来实现这一点?我不希望有太多:
address.add(123) or address.value += 123
在我的模拟器中
任何建议都将不胜感激。与Java不同,Kotlin允许运算符重载 找到 从文档中可以使用operator关键字创建重载函数
data class Counter(val dayIndex: Int) {
operator fun plus(increment: Int): Counter {
return Counter(dayIndex + increment)
}
}
你似乎在尝试重新创建,所以使用它可能更容易。(或者,即使你能处理签名问题。)如果你真的需要自己写,关键字可以帮助你。谢谢。没有意识到有未签名的类型!我有一个剧本,但并不热衷于这样一个事实:它们是实验性的,没有我需要的所有功能,比如低字节和高字节访问。我使用了下面的操作员超控;这也是我不知道的。非常感谢你的建议哇,非常感谢!我刚看完足球和工作回来。刚刚看到这个帖子!乌什波特看起来相当不错,在某种程度上起了作用。但是,我并不热衷于它仍然是实验性的,而且它没有LowByte()和HighByte()访问权限,因此我需要扩展它。因此,我在自己的Word类中使用了操作符overide。这是一种享受!!