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() {}
发布了268 篇原创文章 · 获赞 59 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/qq_18683985/article/details/102992128