flutter从入门到精通二

静态方法和静态属性(static):

  • 通过static修饰的方法和属性称为静态方法和静态属性,注意静态方法和静态属性只能通过类名访问,不能通过对象访问。
  • 静态方法不能访问非静态的属性和非静态方法,反正可以
class Person{
  String name;
  int age;
  Person(this.name,this.age);
  printInfo(){
    //在字符串中,可以直接通过${}访问类的属性和方法
    print('${this.name}---${this.age}');
  }
}

class Web extends Person{
  /**
    *super 是调用父类的构造方法
    *构造函数是无法继承,所有在子类继承父类的时候,需要super来实现父类的构造方法
    */
  Web(String name, num age) : super(name, age);

  // override可写,可不写,建议写上
  @override
  printInfo(){
    print('子类中的${this.name}---${this.age}');
  }
}
main(){
  /**
   * Dart中对象操作符
   * ?条件运算符
   * is类型判断
   * ..级联操作
   */
  Person p1;
  // 下面表示如果p1是空,表示不执行后面的,如果有值,执行后面的
  p1?.printInfo();
  Person p2=new Person('张三',20);
  p2?.printInfo();

  p2..name='李四'
    ..age=20
    ..printInfo();
}  
抽象类:用abstract修饰的类

抽象类中有抽象方法,其是没有方法体的,继承抽象类的子类必须要实现子类的抽象方法

abstract class Animal{
  // 抽象方法,子类必须要实话抽象方法
  eat();
}

class Dog extends Animal{
  @override
  eat() {
    print('我是小狗');
  }
}
main(){
  /**
   * 抽象类(abstract主要用来指定标准)
   * 在dart中,定义接口和定义抽象类一样,都使用abstract,**dart中接口没有使用interface定义**
   * 抽象类不能被实例化,只有继承他的子类实例化
   * 接口里面必须全部是抽象方法,没有普通的方法,但是抽象类中可以既有普通方法,也有抽象方法
   */
  Dog d=new Dog();
  d.eat();
}  

一个类可以实现多个接口,但是只能单继承抽象类,如果模仿多继承,可以使用mixins,作为mixins的类只能继承Object,不能继承其他的类,作为mixins的类不能有构造函数,如下:

class A{
  printA(){
    print('A');
  }
}
class B{
  printB(){
    print('B');
  }
}
//如果模仿多继承,可以使用mixins
class C with A,B{

}
main(){
  C c1=new C();
  c1.printB();
}  
泛型:可以解决代码重用和不特定的类型校验的问题
// 泛型方法,注意需要加上三个地方T
T getData<T>(T data){
  return data;
}
main(){

  print(getData<String>('我叫唐凯震'));
}  

dart中的库

import 'package:http/http.dart';
main(){
  /**
   *  库
   * dart中,库通过import引入,注意是没有from
   * 每个dart文件都是一个库
   * 库分类:
   * 1,自定义库
   * 2,系统内置的库:import 'dart:xxx'
   * 3,第三方库,托管到pub包管理系统中的
   * 第三方库可以从下面的地址中寻找:
   * https://pub.dev/packages
   *
   * 使用第三方库按照下面步骤:
   * 1,创建pubspec.yaml文件
   * 2,配置pubspec.yaml文件
   * 3,运行put get获取远程库
   * 5,看文档引入库使用
   */
}  

con

扫码关注公众号,有更多精彩文章等你哦

原文地址:https://www.cnblogs.com/tangkaizhen/p/11791378.html

时间: 2024-11-08 00:11:54

flutter从入门到精通二的相关文章

iOS开发-UI 从入门到精通(二)

iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI开发我们需要手动管理内存,所以我们要把ARC关掉(Xcode关掉ARC的步骤): (1)打开Xcode选中当前工程: (2)选中Build Settings: (3)在输入框内输入count: (4)选择Objective-C Automatic Reference Counting  将其设置为 

Python基本语法,python入门到精通[二]

在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现在练习的开发环境是基于windows的,如果有朋友喜欢linux或者mac的话,只要有需求,我后续的可以给出对应的博文介绍,其实也是换汤不换药,没需求我就懒得说了. v写在前面 python你不去认识它,可能没什么,一旦你认识了它,你就会爱上它 v郑重承诺 我承认,现在园子里烂尾的系列博文比比皆是,

mybatis从入门到精通(二) 增删查改

mybatis从入门到精通(二) 增删查改 一丶前言 "增删查改"是后台开发的常用操作, 因此, 学习mybatis或者其他orm框架有必要统一学习一下"增删查改". 二丶准备开发环境 使用"mybatis从入门到精通(一) 入门"准备的开发环境 三丶查 -- <select/> UserMapper.java User selectUser(@Param("userId") int userId); UserMa

C语言指针教程----入门到精通&lt;二&gt;

数组与指针: 一: 指针既然可以指向变量,那么必然可以指向一个数组.本节探讨数组与指针的关系.首先读者必须明白,数组名代表数组中首元素的地址. 那么如何表示数组中其他元素的地址以及其他元素本身呢? p+i或a+i就是a[i]的地址:相应的, *(p+i)或*(a+i)就表示的a[i]元素. 已经提到了数组名代表数组首元素地址了,那么所有用数组名做参数的函数都可以改写 成用指针做参数的函数. 二:多维数组的情况. 这里,读者首先有个意识,多维数组每一维也都是一维数组.假设有个二维数组a[3][4]

Atom编辑器入门到精通(二) 插件的安装和管理

在本节中我们会学习如果安装和使用插件插件是Atom中一个非常重要的组成部分,很多功能都是以插件形式存在的.比如上篇文章中提到的目录树和设置等窗口都是通过默认安装的插件来实现的. 查看已安装的插件 打开设置窗口(Cmd+,),再切换到"Packages"标签页,就可以看到已安装的插件列表了我们可以发现Atom默认安装了70多个插件,Atom通过这些插件提供了各种非常有用的特性和功能另外在设置窗口的"Themes"标签页中也能看到所有安装过的主题(主题其实也是一种插件)

MyBatis 入门到精通(二) SQL语句映射XML文件

MyBatis 真正强大之处就在这些映射语句,也就是它的魔力所在.对于它的强大功能,SQL 映射文件的配置却非常简单. 如果您比较SQL 映射文件配置与JDBC 代码,您很快可以发现,使用SQL 映射文件配置可以节省95%的代码量.MyBatis 被创建来专注于SQL,但又给您自己的实现极大的空间. 需要配置的基本元素 1. cache – 配置给定模式的缓存 2. cache-ref – 从别的模式中引用一个缓存 3. resultMap – 这是最复杂而却强大的一个元素了,它描述如何从结果集

Python基本语法[二],python入门到精通[四]

在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解.之所以将python的基本语法分为两部分,是因为园子里大部分人都是有编程基础的,所以在学习Python的时候可以先出个预览版的,预览版都是根据Python的语法与其他语言(java/C#/php)比较类似又不完全一样的地方,便于大家对Python有个基本理解.在大家差不多有个了解以后,我们再深入讲讲

Asp.Net MVC4.0 从入门到精通与项目实战 (Petapoco框架、二维码自定义、Bootstrap视图)视频教程

Asp.Net MVC4.0 从入门到精通与项目实战 (Petapoco框架.二维码自定义.Bootstrap视图)视频教程下载    联系QQ:1026270010 Asp.Net MVC 简介      MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”.MVC模式是于20世纪70年代在smaltalk80的GUI设计中被提出的.它包括3个部分:模型(Model).视图(View)和控制器(Controller).MVC模式至今已被广泛使用,A

Microsoft.AspNetCore.Authentication.Cookies从入门到精通 (二)

目录 Microsoft.AspNetCore.Authentication.Cookies从入门到精通 (二) Cookie加密 Cookie伪加密(序列化/反序列化) 减少Cookie中Value的大小 自定义Cookie管理功能 总结 未完待续...... Microsoft.AspNetCore.Authentication.Cookies从入门到精通 (二) ? 上篇文章我们介绍了Microsoft.AspNetCore.Authentication.Cookies的部分内容,由于篇幅