dart flutter的类

dart的一个文件可以存在多个类,但只能一个main方法。

实体类的示例:

class Student1 {
  //属性-------------
  
  String name;
  int age;

  //构造方法--------------------------
  
  Student1();

//  Student1(this.name);
//  Student1(this.age);
//  Student1(this.name, this.age); //这里只能使用一种

  //Dart提供了命名构造函数,以使类定义多个构造函数:
  Student1.stu1(this.name, this.age);

  Student1.stu2(this.name);

  Student1.stu3(this.age);

  Student1.stu4();

  //set、get方法--------------------------
  //方法内只有一行语句可简写:
  
  String get get_name => name;

  int get get_age => age;

  set set_name(String name) => this.name = name;

  set set_age(int age) => this.age = age;

  //toString方法 --------------------------
  
  @override
  String toString() {//自己定义
    return "name:" + name.toString() + ",age:" + age.toString();
  }
}

void main() {
  //实例化
  Student1 s1 = Student1(); //Dart2中new关键字已经成为一个可选项,可省略
  Student1 s2 = new Student1();
  //调用set
  s2.set_name = 'MARK';
  s2.set_age = 1;
  //调用get
  print(s2.get_name);
  print(s2.get_age);

  Student1 student1 = new Student1.stu1("leo", 18);
  print(student1.toString());
  student1.age = 16;
  print(student1.get_age);

  Student1 student2 = new Student1.stu4();
  student2.age = 12;
  print(student2.get_age);
}


抽象类、继承、实现的示例

//抽象类---------------------------
abstract class Shape {
  // 定义了一个 Shape 类/接口
  num perimeter(); 
  // 这是一个抽象方法,不需要abstract关键字,是隐式接口的一部分。
}

//实现接口--------------------------------------
class Rectangle implements Shape {
  // Rectangle 实现了 Shape 接口
  final num height, width;

  Rectangle(this.height, this.width); // 紧凑的构造函数语法

  // 实现了 Shape 接口要求的 perimeter 方法
  num perimeter() => 2 * height + 2 * width;

  void m1(int a) {
    print("value of a $a");
  }
}

//继承---------------------------------------------
class Square extends Rectangle {
  // Square 继承 Rectangle
  Square(num size) : super(size, size); // 调用超类的构造函数

  @override
  void m1(int b) {
    super.m1(b);
    print("value of b $b");
  }
}

void main() {
  var square = new Square(5);
  square.m1(6);
  var result = square.perimeter();
  print(result);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值