我有一个带有乘法变量的抽象类:
abstract class Animal(var name: String, var age: Int, var mother: Animal,
var father: Animal, var friends: ArrayList<Animal>)
Run Code Online (Sandbox Code Playgroud)
现在,正如你可能猜到的那样,我想创造出来自Animal的"猫","狗","鹦鹉"等等.
但是,当我定义Cat类时,我不知道名称,年龄,...字段,所以代码不能编译.
class Cat : Animal()
Run Code Online (Sandbox Code Playgroud)
不编译,因为我们需要传递我们还不知道的变量.
另一个问题是:如何在类中启动内部类?一只猫的母亲和父亲都是猫.
查看有关继承的文档
由于您有一个主构造函数,您必须将参数传递给super
:
abstract class Animal(var name: String, var age: Int, var mother: Animal,
var father: Animal, var friends: ArrayList<Animal>)
class Cat(name: String, age: Int, mother: Animal,
father: Animal, friends: ArrayList<Animal>)
: Animal(name, age, mother, father, friends)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
227 次 |
最近记录: |