古今中外有学问的人,有成就的人,总是十分注意积累的。知识就是机积累起来的,经验也是积累起来的。我们对什么事情都不应该像“过眼云烟”
邓拓
入口 , 变量 , 常量 , 常用数据类型 , 字符串的拼接 , 布尔类型
Dart语言
Dart
Dart是一种面向对象的语言,Dart的所有东西都是对象,所有的对象都继承自object类。Dart是一门使用类和单继承的面向对象语言,所有对象都是类的实例。并且所有的类都是object的子类。Dart与其他的面向对象语言不一样,Dart中没有public,private,protected这些访问修饰符号,但我们可以使用_下划线把一个属性或者方法定义为私有。
面向对象编程(oop)的三个基本特征是:
封装: 系统具有相同数据结构与行为的所有对象可组成一类;
继承: 在基本层次关系的不同类中共享数据和操作。
多态:(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C++中都是通过虚函数实现的。 Dart中的例子
入口方法main
1 | void main(){ //没有返回值的入口方法 |
1 | main(){ //入口方法 |
打印方法
1
print('你好Hexo'); //输出:你好Hexo
变量
变量必须由数字,字母,下划线和美元符号组成
标识符不能由数字开头 如错误示例:
1
var 123str=123; //错误示例
标识符不能是保留字 ,关键字 如错误示例:
1
var int=123; //错误示例
变量的名字是区分大小写的 如:age和Age应为两个不同的变量。在实际的运用中,也建议不要使用同一个。
1
2var age=10; //这是两个不同的变量
var Age=20;标识符一定要见名思意,变量名称建议用名词,方法名称用动词。
Var会自动判断变量类型,不能和String int一起使用。
1
2
3
4
5
6
7
8
9
10//数字类型不用带'引号',字符串类型须带上'引号',"双引号"和'单引号'效果一样,Dart有类型效验。
var str='你好';
print(str); //自动变量 打印出:你好
var num=123;
print(num); //自动变量 打印出:123
----------------------------------------
String str='你好';
print(str); //字符串类型 打印出:你好
int num=123;
print(num); //数字类型 打印出:123
常量
常量是不改变的量
变量可以修改,常量不可以修改
const和final都是常量,但final更强大,const值不变一开始就要赋值;final可以开始不赋值,只能赋值一次,而且final不仅有const的编译时常量的特性,最重要的是它是运行时常量,惰性初始化,即在运行时第一次使用前才初始化 例如:
1
2const a=3.1415926; //编译时常量
print(a); //打印出:3.14159261
2final a=new DateTime.now(); //运行时常量
print(a); //打印出:2019.9.17. 14:37:54:722292
常用数据类型
Number(数值):
int:整数 整型 , double:小数 浮点型
String(字符串):
String:字符串
Booleans(布尔):
bool:true对 , false错
List(数组):
list:数组,在Dart中,数组是列表对象,所以大多数人称为列表
Map(字典):
map:字典
运算符中一旦有用double的数据,结果也会变成浮点型 如:
1
2
3int a=1;
double b=2;
print(a+b); //输出:3.0
字符串的拼接
三对’’’引号’’’可写多层代码 如:
1
2
3
4
5
6
7String str='''123
456
789''';
print(str);
输出:123
456
789字符串的拼接 如:
1 | 例1: |
布尔类型
布尔类型是条件判断语句
使用if…else和true , false做判断:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15例1:
var dan=false; //定义dan为false
if(dan){ //如果dan为true
print('真');
}else{ //否则
print('假');
} //输出:假
例2:
int a=12;
double b=13;
if(a==b){ //假如a=b
print('a=b');
}else{
print('a!=b');
} //输出:a!=b (a不等于b)