Dart 类与对象 Map类 JSON
dart是谷歌开发的编程语言,是flutter架构的基础,感觉语言上很靠近面向对象Java语言,由于dart语言所有数据类型都是基于object,所以dart也是面向对象编程(面向百度(不是))
格式(以User类为例):
var customer = new User.initiate();
使用老师的简单例子:
一个简单的User类:
class User { String name; int age; //类定义中所有的变量都会隐式的定义setter方法, //针对非空的变量会额外地增加getter方法 //constructor User(this.name,this.age); //named constructor用于从另一个类或现有数据块中快速构造实例对象 User.fromJson(Map json) { name = json['name']; age = json['age']; } // 一个带有初始化列表的命名构造方法 User.initiate() : name = 'Bob', age = 34; String toString() { return "name: "+this.name+"\nage: "+this.age.toString(); } } main() { User user = new User('Tom', 31); print(user.name); print(user.age); user.name = '张三'; //相当于使用了name的setter方法 user.age = 20; print(user.name); print(user.age); Map Jim = {'name':'Jim', 'age':27}; User user2 = new User.fromJson(Jim); print(user2.toString()); User user3 = new User.initiate(); print(user3.toString()); }
第一次接触JSON,这种格式在Javascript中很常见,据了解是类似于XML的标记性集合,但本实例没有实际使用JSON。
其中Map是Java中的键值对数据集合。在Dart语言中也适用
要使用Map文字声明Map,需要将键值对括在一对花括号 {}中 。
这是它的语法
var identifier = { key1:value1, key2:value2 [,…..,key_n:value_n] }
JSON
1、JSONObject(一般叫做JSON)指的是JSON对象,表现为键值对(key:value),一个key对应一个value,key不能重复。可以将JSON理解为一种特殊的字符串,只不过是用了特定的符号进行了标注而已。
2、形式:{“key” : “value”},key和value都必须用双引号引起来。例如: {“name”: “Michael”}
3、创建格式:JSONObject json = new JSONObject();
Map
1、Map也是键值对,不过表现为{key=value},并且key和value不需要用双引号引起来。例如:{name=Michael,age=21}。
2、Map的key可以为对象,JSON的key只能为string。JSON相当于是一种特殊的Map。
3、创建格式:Map map = new HashMap();
JSONArray
1、JSONArray指的是JSON数组,用[]表示,里面可以套上JSON,例如:[ {“name”: “Michael”}, {“name”: “Jake”}]。
2、创建格式:JSONArray jsonArray = new JSONArray();
ArrayList
1、List是一个接口,ArrayList是List接口的一个实现类。例如:[Michael,Jake]。
2、创建格式:List list = new ArrayList();
如果有过Java面向对象语言学习基础的同学,学起来会轻松很多