class Person{
String name;
int age;
/**
* 默认构造函数相当于:Person(String name,int age){
* this.name = name;
* this.age = age};
*/
//Person(this.name, this.age,this._like);
/**
* 默认构造函数(带默认值) 也叫初始化 这个方法和上边的方法只能出现一个 而且使用这个方法的时候 实例化对象不需要给属性赋值
*/
Person():name='默认值name',age=1,_like='默认值like'{
}
/**
* 命名构造函数 差不多相当于Java中的静态方法
*/
Person.getInfo(){
print("我是命名构造函数");
}
/**
* 我也是命名构造函数
*/
Person.setInfo(String name,int age){
print('$name----$age');
}
void getInfo(){
print('${this.name}-------${this.age}-----${this._like}');
}
/**
* 在Dart中没有public private protected修饰符 可以使用_来表示私有属性或私有方法
* 下面这个方法就表示一个私有方法 只能在当前类中使用
*/
void _privateMethod(){
print('这是一个私有方法');
}
/**
* 这是一个私有属性
*/
String _like;
/**
* Dart内置的一个方法get 访问的时候 直接通过对象.属性调用
*/
get getPersonDetail{
return '姓名:$name 年龄:$age 爱好:$_like';
}
/**
* Dart内置的set方法 和Java类似
*/
set setPersonName(String name){
this.name = name;
}
}
void main(){
//实例化对象
//Person person = new Person('1', 1,'2');
Person person = new Person();
//调用对象的方法
person.getInfo();
//调用私有方法__privateMethod();
person._privateMethod();
//命名构造函数
Person.getInfo();
//这也是命名构造函数
Person.setInfo('我也是命名构造函数', 12);
//Person person2 = new Person('MrWang',1 ,'摄影');
Person person2 = new Person();
//内置的get方法
print('${person2.getPersonDetail}');
/**
* 也是直接通过属性赋值 然后进行打印
*/
//set方法
person2.setPersonName = 'MrWang2';
print('${person2.getPersonDetail}');
}
Dart基础第七篇:Dart面向对象之构造函数&get、set方法的使用
猜你喜欢
转载自blog.csdn.net/u013600907/article/details/99721134
今日推荐
周排行