Dart语言--基础内容

基础

  • 主函数

    void main ( ) { }

  • 声明变量
    • var a num a int a double a bool a = true
    • final b = 0; 声明只能赋值一次的变量
    • const a = 1; 常量
    • var a = const [1,2]; 声明一个不可变的list

数据类型

  • 数据类型

    • Number

      • Int --整数型
      • double -- 浮点型
    • String
    • Boolean
    • List -- 数组
    • Map -- 键值对
  • 特殊运算符 ~/ 向下取整
  • 字符串操作
    • ‘‘‘ hello dddd‘‘‘ 表示多行字符串,保留换行
    • ‘hello \n Dart‘ 会换行
    • String aa = r‘‘hello \n Dart" 不会换行.会输出\n
    • ‘abc‘ * 2 == ‘abcabc‘
    • ‘abc‘[1] == ‘b‘
    • 字符串插值 " a + b = ${a + b}" ${xx}是个表达式 只有一个变量插值可省略写成 $a
  • Map键值对
    • 创建 var qq = {‘first‘ : ‘Dart‘ , ‘second‘ : ‘java‘};
    • 创建不可变Map var q = const { ,,,, }
    • 构造创建 var q = new Map()
    • 获取value qq[‘frist‘]
    • 循环传递两个值 qq.forEach ( f ); void f( key , value ){.......}
  • dynamic 类型 -- 动态类型
    • var a = 10; a = "xxx";
    • dynamic a = 20; a="xxx";
    • 泛型应用: var lis = new List\<dynamic\>(); 这样声明的lis 可以使用各种类型的数据

运算符

  • ??= b ??= 10; b是空的则是10,有值则不做改变.
  • a~/=b 类似于 a+=b
  • var c = a ?? b a为空时表达式为b的值

函数

  • void main () {} void位置是返回类型 void指的是不需要返回类型
  • Dart定义函数 xxx(){} js中定义函数 function xx () {}
  • void fun(String name , int age) {xxxx}
  • 可选参数写法
    • fun(String name , {int age, String kk}) fun(‘张三‘,age:20) 位置不固定
    • fun(String name , [int age , String kk]) fun(‘张三‘ , 20 ) 位置固定
  • 参数默认值
    • fun(String name , {int age = 30, String kk})
  • 匿名方法
    • () {} 可赋值给 变量 或者直接调用 .. 不能直接定义在最外层
    • ((){})() 自调.自执行

面向对象

class-类
  • class 声明类 new创建对象.new可省略 所有对象默认继承于Object类
  • class 属性默认有getter和setter方法--java需要自定义
  • class final声明的属性是只读的
  • class 方法不能重载
  • //举例
    class Person {
      String name;
      int age;
      void work(){
          print("name is $name , age is $age")
      },
        Person (String name , int age){//构造方法
            this.name = name;
            this.age = age;
        };
        Person (this.name,this.age);//构造方法简写
        Person.ddd (){}; //带名称的构造方法
    }
    //调用
    var person = new Person();//new Person('Tom'.20)--有构造时
    person.name = 'Tom';
    person.age = 20;
    person.work();  //name is Tom , age is 20
  • 使用_表示私有性. 默认一个Dart文件就是一个库 .. Dart中可见性以Library(库)为单位 java的可见性设置十分多
  • class的计算属性
    • class Rect{
          num width,height;
          num get area => width * height;// area{ return w*h }
          set area(val) {//给计算属性area赋值时,处理数据,给其他属性赋值
              width = val / 20;
          };
      }
      var re = new Rect();
      re.height = 20;
      re.width = 10;
      print(re.area); //200
  • 构造方法-创建对象时调用的方法 可设置多个构造 .. 详情看上上面的person
    • 命名构造方法
    • 常量构造方法----如果类是不可变状态,可以吧对象对应为编译期常量
      • 使用const声明构造方法,并且所有变量都为final,使用const声明对象.可以省略
    • 工厂构造方法
      • 类似于设计模式中的工厂模式 - -构造方法前加factory
      • 最大的不同 , 工厂构造可以返回对象. ---???
    • 初始化列表 ---???
  • static 声明静态成员 --???
  • 对象操作符
    • ?.安全访问成员 person?.work() 对象存在时调用work不存在则不执行
    • as 类型转换
    • is is! 是否是指定类型
    • 级联操作 person..name=‘xx‘..age=20..work();
  • 对象call方法
    • 如果class实现了call(),则该class的对象可以作为方法使用
继承
  • extends --继承父类可见的属性和方法. 子类可以复写父类方法/getter/setter
  • 单继承/多态性
  • @override -- 指的是该方法是复写的
  • 子类构造方法会默认调用父类的无名无参的构造方法. 如果父类没有,则需要显示调用
  • 构造方法执行顺序: 子类初始化列表 - 父类构造 - 子类构造
抽象类
  • 抽象类 abstract ,不能实例化.只能被继承实例化
接口
  • 类和接口是统一的

原文地址:https://www.cnblogs.com/Vayne-N/p/11519153.html

时间: 2024-08-28 05:22:36

Dart语言--基础内容的相关文章

Dart语言基础

dart 语言是一款谷歌出的语言,代码风格更像是融合了 java 及 javascript,所以学习的难度并不是很大: 且又是 flutter 框架中的语言,所以还是有学习的必要 dart 安装:打开 dart 官网 我们按照安装步骤下载完了,然后我们检测是否下载成功:在终端输入命令:dart --version 如果出了版本号就证明我们下载成功了 如果我们想在使用 dart 语言的话,建议使用 vsCode 的编辑器,下载插件 dart  code runner dart 文件,是以 dart

起航,C语言基础内容整理

一.概念及基本格式 程序:为了解决某一个问题,而编写的一系列有序指令的集合. 算法:解决问题的具体方法和步骤. 流程图是算法的一种图形化的表达方式.流程图可以直观.清晰,更有利于人们设计与理解算法. C语言的基本结构 #include <stdio.h> void main() {    printf("Hello World\n"); } C语言中的注释: //单行注释 /* 多行注释 */ #include <stdio.h> void main() { p

Flutter学习之Dart语言基础(构造函数)

最常见的构造函数形式,即生成构造函数,创建一个类的新实例: class Point { num x, y; //Dart中int和double是num的子类 //this引用当前类对象 Point(num x, num y) { this.x = x; this.y = y; } } 使用语法糖的时候可以这样定义: class Point { num x, y; //用于设置x和y的语法糖 //在构造函数体运行之前 Point(this.x, this.y); @override String

Oracle SQL语言基础及环境准备_超越OCP精通Oracle视频教程培训26

Oracle SQL语言基础及环境准备_超越OCP精通Oracle视频教程培训26 本课程介绍: Oracle视频教程,风哥本套oracle教程培训是<<Oracle数据库SQL语言实战培训教程>>的第1/5套:SQL语言之基础入门及环境准备.主要学习Oracle数据库SQL语言基础介绍.PL/SQL语言介绍.数据库SQL对象与数据类型介绍.SQL语言实战环境准备等. Oracle SQL语言之基础及环境准备,课程内容详细如下: Oracle数据库SQL语言基础介绍Oracle数据

Swift语言指南(一)--语言基础之常量和变量

Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swift 提供了 C 与 Objective-C 中的所有基础类型,包括表示整数的 Int,表示浮点数的 Double 与 Float,表示布尔值的 Bool,以及表示纯文本数据的 String. Swift 还为两个基本集合类型 Array 与 Dictionary 提供了强大的支持,详情可参考 (集合类型)Collection Types. 与 C 语言类

02 java语言基础

常量:字面值常量(字符串,字符,整数,小数,布尔,null),自定义常量,''这个不是字符常量,""这个是字符串常量 进制: 02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常量 用双引号括起来的内容 整数常量 所有整数 小数常量 所有小数 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号 布尔常量 较为特

C#语言基础

第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了一个强大的.易用的.逻辑结构一致的设计环境.其特点: 语言简洁 保留了C++的强大功能: 快速应用开发功能: 语言的的自由性: 强大的Web服务器控件: 支持跨平台: 与XML相融合: 第二部分 C#语言基础: 一.C#项目的组成结构: 1.项目后缀 .config——配置文件(存放配置参数文件)

【quick-cocos2d-x】Lua 语言基础

版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速便捷了许多,下文只是lua这门语言的一个基础知识点,没有涵盖整个Lua的内容,但是作为对lua入门的初步了解还是可以的,由于内容精简了不少,所以语言上可能会有点跳跃,但是问题不大. 要了解一门语言,首先要了解的是语言的标识符.保留字.常量和变量,命名规范和注释以及数据类型等.然后是运算符.控制流语句

嵌入式linux C++语言(二)——C++对C语言基础语法的扩展

嵌入式linux C++语言(二)--C++对C语言基础语法的扩展 C++是基于C语言扩展发展而来的面向对象的程序设计语言,本文将主要讨论C++语言基于C语言扩展的方面. 一.类型增强 1.类型检查更严格 在C语言中: const int a = 100; int *p = &a; 在C++语言中: const int a = 100;//必须在定义的时候初始化 const int *p = &a; 在C++语言中不能隐式转换数据类型. error: invalid conversion