Linux Vala文件导入
我在使用Vala语言处理分离文件中的属性时遇到问题 Main.vala文件是Linux Vala文件导入,linux,oop,vala,Linux,Oop,Vala,我在使用Vala语言处理分离文件中的属性时遇到问题 Main.vala文件是 using Teste; using Cagado; static int main(string[] args) { GUI gui = new GUI(); stdout.printf("%d\n", gui.idade); return 0; } HelloVala.vala的是: namespace Teste { public class Person : Object
using Teste;
using Cagado;
static int main(string[] args)
{
GUI gui = new GUI();
stdout.printf("%d\n", gui.idade);
return 0;
}
HelloVala.vala的是:
namespace Teste
{
public class Person : Object
{
private int _age = 32;
public int age
{
get { return _age; }
set { _age = value; }
}
}
}
using Teste;
namespace Cagado
{
public class GUI : Object
{
Person _person = new Person();
_person.age = 35;
private int _idade;
public int idade
{
get { return _idade; }
set { _idade = value; }
}
}
}
Cagado.vala是:
namespace Teste
{
public class Person : Object
{
private int _age = 32;
public int age
{
get { return _age; }
set { _age = value; }
}
}
}
using Teste;
namespace Cagado
{
public class GUI : Object
{
Person _person = new Person();
_person.age = 35;
private int _idade;
public int idade
{
get { return _idade; }
set { _idade = value; }
}
}
}
当我编译这段代码时,编译器会给我一个错误消息:
Cagado.vala:9.15-9.15: error: syntax error, expected identifier
_person.age = 35;
^
我用C语言编程,而这在面向C语言的对象系统中并没有发生。
有人能解释这一点吗?问题在于:
public class GUI : Object
{
Person _person = new Person();
_person.age = 35; // <--
...
您还可以修改并向Person类添加构造函数:
namespace Teste
{
public class Person : Object
{
private int _age = 32;
public int age
{
get { return _age; }
set { _age = value; }
}
public Person(int age) {
GLib.Object (age: age);
}
}
}
那就做吧
public class GUI : Object
{
Person _person = new Person(35);
问题是:
public class GUI : Object
{
Person _person = new Person();
_person.age = 35; // <--
...
您还可以修改并向Person类添加构造函数:
namespace Teste
{
public class Person : Object
{
private int _age = 32;
public int age
{
get { return _age; }
set { _age = value; }
}
public Person(int age) {
GLib.Object (age: age);
}
}
}
那就做吧
public class GUI : Object
{
Person _person = new Person(35);
问题是:
public class GUI : Object
{
Person _person = new Person();
_person.age = 35; // <--
...
您还可以修改并向Person类添加构造函数:
namespace Teste
{
public class Person : Object
{
private int _age = 32;
public int age
{
get { return _age; }
set { _age = value; }
}
public Person(int age) {
GLib.Object (age: age);
}
}
}
那就做吧
public class GUI : Object
{
Person _person = new Person(35);
问题是:
public class GUI : Object
{
Person _person = new Person();
_person.age = 35; // <--
...
您还可以修改并向Person类添加构造函数:
namespace Teste
{
public class Person : Object
{
private int _age = 32;
public int age
{
get { return _age; }
set { _age = value; }
}
public Person(int age) {
GLib.Object (age: age);
}
}
}
那就做吧
public class GUI : Object
{
Person _person = new Person(35);
谢谢你的帮助。我花了三天时间思考我在做什么问题。你可以回答我,在这个特性中,Vala是否与C#的工作方式不同?我不确定(我的C#非常小),但如果C#在这方面与Vala有什么不同,我会感到惊讶。java不是,C++也不是…谢谢你帮我^ ^ ^。我花了三天时间思考我在做什么问题。你可以回答我,在这个特性中,Vala是否与C#的工作方式不同?我不确定(我的C#非常小),但如果C#在这方面与Vala有什么不同,我会感到惊讶。java不是,C++也不是…谢谢你帮我^ ^ ^。我花了三天时间思考我在做什么问题。你可以回答我,在这个特性中,Vala是否与C#的工作方式不同?我不确定(我的C#非常小),但如果C#在这方面与Vala有什么不同,我会感到惊讶。java不是,C++也不是…谢谢你帮我^ ^ ^。我花了三天时间思考我在做什么问题。你可以回答我,在这个特性中,Vala是否与C#的工作方式不同?我不确定(我的C#非常小),但如果C#在这方面与Vala有什么不同,我会感到惊讶。java不是,C++也不是…