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*/
}
}