Dart-静态成员,继承

1.静态成员

static修饰类中的变量或函数
静态方法不能访问非静态成员,非静态方法可以访问静态成员
可以通过类来访问
非静态的必须实例化以后访问
调用静态成员不需要通过this,因为this 相当于当前类的实例
访问非静态属性建议通过this.来调用

2.对象操作符

?条件运算符—基本不用
as 类型转换
is 类型判断
… 级联操作(连缀)—常用

1)? 定义了p,但是没new, 这是去调用类的方法会报错,
前面可以加?,表示如果为空就不调用
Person p;
p?.printInfo();
2)is类型判断
Person p=new Person(“杜甫”,33);
if(p is Person){
p.name=“杜牧”;
}

3)如下p1被多次赋值,可以用as进行规范
var p1;
p1=“hello”;
p1=new Person(“王维”, 66);
(p1 as Person).printInfo();
}
4)连缀操作

var p1=new Person("王维", 66);
p1 ..name="王安石"
  ..age=88
  ..printInfo();

继承

extends,不继承构造函数
访问父类里面可见的属性和方法
可以复写父类的getter和setter
1.注意:父类构造函数有参数时处理方法:通过super实现

class Person{
    String name;
    int age;
    Person(this.name,this.age);
    void printInfo(){
      print("${this.name},${this.age}");
    }
   }
class Children extends Person{
  //Children(super.name, super.age);
  //将子类的构造函数的参数传递个父类
  //类似于构造函数初始化类别Rect():height=20,width=10{}
  Children(String name,int age):super(name,age);


}

void main(List<String> args) {
  Children children=new Children("王莽",88);
  children.printInfo();
}

子类增加方法

 调用对象方法前,先在子类中自己的方法,没有再去父类找
class Person{
    String name;
    int age;
    Person(this.name,this.age);
    void printInfo(){
      print("${this.name},${this.age}");
    }
   }
class Children extends Person{
  String sex;
  //Children(super.name, super.age);
  //将子类的构造函数的参数传递个父类
  //类似于构造函数初始化类别Rect():height=20,width=10{}
  Children(String name,int age,this.sex):super(name,age);

  void run() {
    print("${this.name},${this.age},${this.sex}");
  }


}

void main(List<String> args) {
  Children children=new Children("王莽",88,"男");
  children.run();
}

命名构造函数

父类:
Person(this.name,this.age);
Person.xxx(this.name,this.age);//命名构造函数
子类:
Children(String name,int age,this.sex):super.xxx(name, age);//给命名构造函数传参

覆写与super

       @override  //非必须,但建议
 void printInfo(){
      print("hello,${this.name},${this.age}");
    }
  void run() {
    print("${this.name},${this.age},${this.sex}");
    super.work();//在子类中调用父类方法
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值