Dart中的類與方法

類 class

在Dart中我們可以使用如下方法去定義一個類

class className {
	/// 定義單個類型
	Type typeName;
	/// 包私有屬性
 	Type _privateTypeName;
	//  定義多個類型
	Type typeName1,typeName2,typeName3;
	/// 實例方法
	ReturnType functionName(Type typeName) {};
	/// 類方法
	static ReturnType functionName2(Type typeName) {};
}

實例化

/// 假如有一個Person類
var person = new Person();
// new可以省略
var person = Person();

Dart中沒有public.private這種修飾符,只有在變量/方法名前面添加_來表示這個變量/方法是包私有的.

繼承 extends

/// 類似Java,使用`extends`關鍵字來去繼承一個類
class sonClassName extends className {
	...
}

提一嘴,Dart語言中的所有類都有一個共同的父類Object(萬物皆對象).

方法 Function

在Dart中,方法也是一種類型,名爲Function的類型,

{}包上可選參數.[]包上可忽略參數.

普通方法

void printInfo0(num num1 ,num2) {
	// Function
}
///調用方式
xxx.printInfo0(10 ,20);

如果是類似這種方法,num1與num2無法設置默認值.並且調用時,兩個參數必傳.因爲是必傳,所以參數是按順序放入printInfo0方法內的

可選參數

void printInfo1({num num1 ,num num2 = 2}) {
	/// Function
}
/// 調用方式
/// num1 = null ,num2 = 2
xxx.printInfo1();
/// num1 = 1 ,num2 = 3
xxx.printInfo1(num1 :1 ,num2 = 3);
/// num1 = 1 ,num2 = 2(默認值)
xxx.printInfo1(num1 :1);
/// num1 = null ,num2 = 3
xxx.printInfo1(num2 = 3);

如果是可選方法,我們就可以設置默認值,並且調用時可以省略掉num2,當然num1也可以省略.省略後的值爲null(因爲num1沒有默認值).

可忽略參數

void printInfo2([num num1 ,num num2 = 2]) {
	/// Function
}
/// 調用方式
/// num1 = null ,num2 = 2
xxx.printInfo2();
/// num1 = 2 ,num2 = 2
xxx.printInfo2(2);
/// num1 = 2 ,num2 = 10
xxx.printInfo2(2 ,10);

/// 或者可以這樣定義.表示僅僅num2是可忽略參數
void printInfo2(num num1 ,[num num2 = 2]) {
	/// Function
}

按照類型劃分的方法

/// 實例方法
void xxx() {}
/// 包私有實例方法
void _xxx() {}
/// 類方法
static void xxx() {}
/// 包私有類方法 
static void _xxx() {}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章