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中的数据结构,本文试图通过简单的描述,向读者阐述各个 ...
随机推荐
- Ocelot集成Consul实现api网关与服务发现
前言 没看dotnet微服务之API网关Ocelot的请先看,这篇文章接上面文章 安装consul #自定义网络,自定义网络可以指定容器IP,这样服务器重启consul集群也可以正常运行. docke ...
- 内网渗透之不出网上线CobaltStrike技巧
目录 前言 smb beacon上线 tcp listener转发上线 http代理上线 tcp beacon正向连接上线 题外话 - cs和msf的权限传递 cs派生给msf msf派生给cs 前言 ...
- memcached 和 Grails,第 1 部分:安装和使用 memcached
学习 memcached 命令并评估缓存性能 本文是系列文章的第 1 部分,主要介绍 memcached 和 Grails.作者 James Goodwill 将向您介绍开源解决方案 memcache ...
- MongoDB之常见错误
总结开发中常见的问题与错误 1. Robo 3T连接MongoDB异常: Network error while attempting to run command 'saslStart' on ho ...
- Codeforces Round 878 (Div3)
B. Binary Cafe \(1 \leq n,k \leq 10^9\) 题解:思维 考虑两种情况 第一种:钱足够多,每种咖啡都可以买的情况下,答案为\(2^k\) 第二种:钱不够多,因为任一面 ...
- Electron(1) - 快速入门
1.前言 本节主要讲述Electron的环境搭建以及如何快速创建一个应用 官方文档 2.环境搭建 (1)安装node.js (2)创建项目目录,初始化配置文件 //进入项目目录 并在此目录打开cmd窗 ...
- 如何优雅地在Django项目里生成不重复的ID?
前言 本来标题是想叫"生成不重复的四位数"的,不过单纯数字有点局限,推广一下变成不重复 ID 吧~ 这个功能是在做下面图片里这个小项目时遇到的,有点像微信的面对面建群,生成一个随机 ...
- 阿里云最新npm地址
npm config set registry https://registry.npmmirror.com -g
- Day01 Markdown 学习笔记
Day01 Markdown 学习笔记 1.标题 n级标题 = n个"#" + 空格 + 标题名称 (最多6个) 2.文本 Hello World Hello World ...
- Vue2 面试题 (2023-09-22更新)
基础 Vue2.0 兼容 ie 哪个版本? 不支持 ie8,部分兼容 ie9,完全兼容 ie10 因为 vue 的响应式原理是基于 es5 的 Object.defineProperty 这个方法不支 ...