Dart 类的构造方法和类的私有属性的定义
首先定义一个Rect类,用于计算面积
class Rect{ int _height;//定义成私有成员(前面加下划线),私有成员不能被外部直接访问 int _width; Rect(this._height,this._width);//Dart默认构造函数 只能声明一次,Java可以声明多个 Rect.heigthSet(this._height);//命名构造函数 可以声明多个 Rect.widthSet(this._width);//命名构造函数 可以声明多个 Rect.allSet(this._width,this._height);//命名构造函数 可以声明多个 Rect.allSet2():_height=5,_width=5;//带默认参数的构造方法 //set get属性方法,外部通过访问属性的形式调用该方法 set setHeight(int value){ this._height=value; } //getter属性方法,不用括号,外部通过访问属性的形式调用该方法 get getHeight{ return _height; } //getter属性方法,不用括号,外部通过访问属性的形式调用该方法 get Area{ return _height*_width; } //定义私有方法 int _area(){ return _height*_width; } int getArea(){ return _area(); } String getMessage(){ return('获取传入的高,宽值:$_height $_width 面积计算为:'); } }
// //默认构造函数 // Rect r=new Rect(2,3); // print('${r.getMessage()} ${r.getArea()}'); // print('${r.getMessage()} ${r.Area}'); // //通过set方法修改属性 // r.setHeight=10; // r.setWidth=10; // print('${r.getMessage()} ${r.getArea()}'); // print('${r.getMessage()} ${r.Area}'); Rect r=new Rect(3,8); print(r.getHeight); print('${r.getMessage()} ${r.Area}');
输出: