Vala 编程/概念/对象
外观
Vala 仍在积极开发中,某些功能可能会随着时间的推移而改变。 |
Vala 的 OO 系统非常类似于,并且在某种程度上基于像 C# 和 Java 这样的语言。请注意,与这些语言不同,Vala 不会强迫你采用和 面向对象范式,但为了获得最大程度的生产力,强烈建议采用它;并且由于大多数第三方库和绑定都使用面向对象,最终你将不得不采用它。
通常,Vala 中的 类 声明如下
/*Simple Class Derived From GLib.Object*/
public class Sample : GLib.Object {
/*Class Fields*/
bool my_field;
int my_int_field = 2;
public Sample () {
/* Constructor */
}
public ~Sample () {
/* Destructor */
}
public void my_method () {
/*Method Code*/
}
public int return_method () {
/*Return Some Integer*/
return my_int_field;
}
public void param_method (int param) {
/*Use Arguments*/
}
}
/*Intermediate Hacking...*/
请注意,如果你声明一个基类,建议从 GLib.Object 派生它,否则你将无法访问它的一些功能。
Vala 中的继承非常类似于 C#。Vala 只支持单继承,即你不能从多个基类继承一个对象。一般格式如下
/*Inheriting From Other Classes*/
public class Base : GLib.Object {
public int member;
public Base (int carg) {
/*Code Here*/
}
}
public class Derived : Base {
public Derived () {
base (14); // Call base constructor
/*Code Here*/
}
}