Dart中操作符详细介绍和使用
dart中静态成员
1 使用satic关键字 来实现类级别的变量和函数
2 静态方法不能够访问非静态成员, 非静态方法可以访问静态成员
3 静态属性,不要通过this去访问
因为this指向的是这个实例化对象,访问直接写名称
1 Dart中访问静态属性和方法
class Rect {
static String name = '矩形'; //这是静态属性
// 这是静态方法,访问的静态属性不要通过this
static void show() {
print(name);
}
}
void main() {
//访问静态属性和方法
print(Rect.name);
Rect.show();
}
2 Dart中的对象操作符
? 条件运算符 (做了解)
? 的使用 ? 条件为真的时候,就执行后面的内容。为假,就不执行
as 类型转换
is 类型判断
.. 级联操作 (连缀 很常用)
3 Dart 中 ? 的使用
class Rect {
String name = '矩形';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}");
}
}
void main() {
Rect r;
//r 是null,它的条件是假,不会执行后面的内容哈。
r?.userInfo();
}
4 Dart中操作符 is 的使用
class Rect {
String name = '矩形';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}");
}
}
void main() {
var r = new Rect('矩形');
if (r is Rect) {
print('r是Rect这个实例对象');
} else {
print('r不是Rect这个实例对象');
}
//所有类都是Object的子类
if (r is Object) {
print('是Objectd的一个子类');
}
}
5 Dart中操作符 as 的使用
class Rect {
String name = '矩形';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}");
}
}
void main() {
var p;
p = '';
p = new Rect('矩形');
//在老版本中会报错,所以使用as进行转换
//将字符串转为实例对象
(p as Rect).userInfo();
}
6 Dart中操作符 .. 级联选择器的使用
class Rect {
String name = '矩形';
String w = '20cm';
//默认构造函数
Rect(this.name);
void userInfo() {
print("这个是一个${this.name}==>${this.w}");
}
}
void main() {
Rect r = new Rect('矩形');
// r.userInfo();
// r.name = '我是正方形';
// r.w = '40cm';
// r.userInfo();
// 使用级联可以这样使用
r
..userInfo()
..name = '我是正方形'
..w = '40cm'
..userInfo();
}
通过这个栗子,我们知道了级联操作符的使用,就是可以多次操作同一个实例对象,就像jquery中的链式操作.
Dart中操作符详细介绍和使用的更多相关文章
- 转:Http协议中Cookie详细介绍
Http协议中Cookie详细介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了, ...
- Laravel 模板引擎Blade中标签详细介绍
这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,需要的朋友可以来看看. Laravel 框架中的Blade模板引擎很好用,但是官方文档介绍的并不详细,我接下来将 ...
- Http协议中Cookie详细介绍(转)
原文:http://www.169it.com/article/3217120921.html Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存C ...
- Http协议中Cookie详细介绍
Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的.硬盘Cookie ...
- RabbitMQ中Queue详细介绍
新建队列 新建Queue时有很多参数,都代表什么含义,在这里解释一下: 前述:Rabbit版本为3.7.6 ErLang 版本为 21.0.1 Name 必填项,队列的名字,建议格式可以为多个字段,表 ...
- typescript整合到vue中的详细介绍,ts+vue一梭子
通过vue-cli命令行安装vue项目,注意不要eslint 安装依赖 cnpm install typescript --save-dev cnpm install ts-loader --save ...
- Unity3D中GameObject 详细介绍
通过Hierarchy面板下的Create菜单可以手动地创建一个GameObject,它可以是一个相机,一个灯光,或者一个简单的模型,当我们要在程序里面动态地创建一个相机的时候,可以new一个Game ...
- C++中引用与指针的区别(详细介绍)
C++中引用与指针的区别(详细介绍) C++中的引用与指针的区别 指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一 ...
- [转]详细介绍java中的数据结构
详细介绍java中的数据结构 本文介绍的是java中的数据结构,本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类.一起来看本文吧! 也许你已经熟练使用了java.util包里面的各 ...
- 详细介绍java中的数据结构
详细介绍java中的数据结构 http://developer.51cto.com/art/201107/273003.htm 本文介绍的是java中的数据结构,本文试图通过简单的描述,向读者阐述各个 ...
随机推荐
- vivo 企业云盘服务端实现简介
作者:来自 vivo 互联网存储团队- Cheng Zhi 本文将介绍企业云盘的基本功能以及服务端实现. 一.背景 vivo 企业云盘是一个企业级文件数据管理服务,解决办公数据的存储.共享.审计等文件 ...
- cornerstone中raft_server_req_handlers源码解析
1.概述 之前说过raft_server是cornerstone的核心,其中充满了很多req的发送,那么follower收到leader的req会怎么处理呢? 本文就是来解析cornerstone中处 ...
- Linux中的用户管理-创建删除修改
用户管理 一.用户分类 用户分为三类: 1.管理员 root root UID:0 #拥有最高权限 默认系统中就一个 UID即user ID 类似于身份号码,唯一的,不可重复 2.虚拟用户 作用:在运 ...
- 使用 LLVM 框架创建有效的编译器,第 2 部分
使用 clang 预处理 C/C++ 代码 无论您使用哪一种编程语言,LLVM 编译器基础架构都会提供一种强大的方法来优化您的应用程序.在这个两部分系列的第二篇文章中,了解在 LLVM 中测试代码,使 ...
- ZCMU-1129
数学公式题罢了 学长 1.斯特灵公式: 2.对数公式(因为以10为底,得到的是10^x,所以最后向下取整加上1): #include<cstdio> #include<cmath&g ...
- S2P销讯通-主数据对于客户关系管理系统的重要性
由于业务发展,各大企业的业务系统经历了从无到有,从简单到复杂,从而形成了一个又一个的业务系统,比如OA.HR.CRM.ERP等等. 主数据在客户关系管理系统(CRM)中扮演着至关重要的角色.主数据是指 ...
- 调用xlst执行转换
try { //Create a new XslTransform object. XslCompiledTransform xslt = new XslCompiledTransform(); // ...
- (一)Springboot + vue + 达梦数据库构建RBAC权限模型前后端分离脚手架保姆级教程(界面截图)
用户登录 系统首页 用户列表 添加用户 修改用户 角色列表 添加角色 修改角色
- C/C++实例汇集(1)
1.用代码判断一个系统是16位系统还是32位系统? 以下是几种常见编程语言中判断系统是 16 位还是 32 位的代码示例 C语言: #include <stdio.h> int main( ...
- 使用 Windows Debugger 调试托管代码
使用 Windows Debugger 调试托管代码 https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugg ...