zoukankan      html  css  js  c++  java
  • Dart学习记录(一)——对象

    1. 静态成员、方法

      1.1 static 声明

      1.2 静态、非静态方法可访问静态成员、调用方法;静态方法不可访问静态成员、调用方法;

      1.3 静态成员、方法,属于类的 ,不用实例化对象就可使用,不可使用super、this

    class Person {
      static String name = '张三';
      int age = 20;
      static void show() {
        print(name);
      }
    
      void printInfo() {
        /*非静态方法可以访问静态成员以及非静态成员*/
        print(name);  //访问静态属性
        print(this.age);  //访问非静态属性
        show(); //调用静态方法
      }
    
      static void printUserInfo() {
        //静态方法
        print(name); //静态属性
        show(); //静态方法
      }
    }
    
    main() {
      print(Person.name); // 静态-不用实例化对象
      Person.show();
    
      Person p=new Person();静态-new对象
      p.printInfo();
    
      Person.printUserInfo();
    }

    2. 对象操作符

        as    类型转换
        is    类型判断
        ..    级联操作 (连缀)
    class Person {
      String name;
      num age;
      Person(this.name, this.age);
      void printInfo() {
        print("${this.name}---${this.age}");
      }
    }
    main() {
    
      /****** is ******/
      Person p=new Person('张三', 20);
      if(p is Person){
          p.name="李四";
      }
      p.printInfo();
    
    
      /****** as ******/
      var p1;
      p1='';
      p1=new Person('张三1', 20);
      (p1 as Person).printInfo();
    
      /****** ... ******/
      Person p1 = new Person('张三1', 20);
      p1.printInfo();
      p1
        ..name = "李四"
        ..age = 30
        ..printInfo();// 修改属性、调用方法
    }

    2. 继承

      1. 简单继承:extends

    class Person {
      String name='张三';
      num age=20; 
      void printInfo() {
        print("${this.name}---${this.age}");  
      } 
    }
    class Web extends Person{}

      2. super

      : super(name, age)  默认值
    class Person {
      String name;
      num age; 
      Person(this.name,this.age);
      void printInfo() {
        print("${this.name}---${this.age}");  
      }
    }
    // 最新版本的dart中需要初始化不可为null的实例字段,如果不初始化的话需要在属性前面加上late
    
    class Web extends Person{
      late String sex;
      Web(String name, num age,String sex) : super(name, age){
        this.sex=sex;
      }
      run(){
       print("${this.name}---${this.age}--${this.sex}");  
      }
      
    }

      3. 重写父类方法 @override

    class Web extends Person{
      Web(String name, num age) : super(name, age);
    
      run(){
        print('run');
      }
    
      @override
      work(){
        print("${this.name}的工作是写代码");
      }
    
    }

      4. 子类调用父类的方法 super.xxx

  • 相关阅读:
    Spark Standalone集群搭建
    虚拟机Ubuntu磁盘扩容
    Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.ipc.ServerNotRunningYetException): org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not runn
    centos脚本编写
    centos中的shell编程
    从零开始部署hadood分布式数据平台!
    从0开始部署hadoop HA集群,使用zk实现自动容灾
    zookeeper动物园管理员学习笔记
    hive UDF
    创建视图
  • 原文地址:https://www.cnblogs.com/w-sansamilly/p/15012195.html
Copyright © 2011-2022 走看看