Flutter学习-day05 Dart构造函数与访问权限修饰符

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}');

 

输出:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章