Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Vala文件导入_Linux_Oop_Vala - Fatal编程技术网

Linux 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

我在使用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
    {
        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++也不是…