[Vala] inherited constructors
- From: pancake <pancake youterm com>
- To: vala-list gnome org
- Subject: [Vala] inherited constructors
- Date: Fri, 10 Jul 2009 18:54:26 +0200
I was trying to write some classes in Vala using basic inheritance but
looks like the compiler does not inherits the class constructors that
takes at least 1 argument. If the constructor gets no parameters it is
inherited.
Is this the correct way to do it or it is a bug in Vala? It will safe
me from lot of copypaste if I can just keep the same constructor for the
child classes.
It is possible to call upper class constructors or methods like in java?
public Child(string str) {
super(str);
}
It is at least possible to do it :) And i think..a prefered way to work.
--------------------------
Here's an example:
$ cat base.vala
public class Base : Object
{
public string str;
public Base(string str) {
stdout.printf("base constructor\n");
this.str = str;
}
public virtual void foo() { /* empty */ }
}
$ cat child.vala
public class Child : Base
{
public override void foo()
{
stdout.printf("Hello %s\n", this.str);
}
}
void main()
{
stdout.printf("Main\n");
var ch = new Child("perro");
ch.foo();
}
$ valac *.vala
child.vala:13.11-13.28: error: Too many arguments, method `Child.new'
does not take 1 arguments
var ch = new Child("perro");
^^^^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 0 warning(s)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]