《 Dart 语言》课件 ch07-泛型和异常_第1页
《 Dart 语言》课件 ch07-泛型和异常_第2页
《 Dart 语言》课件 ch07-泛型和异常_第3页
《 Dart 语言》课件 ch07-泛型和异常_第4页
《 Dart 语言》课件 ch07-泛型和异常_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

案例:泛型集合泛型和异常案例描述设计一个案例,演示泛型List、泛型Set和泛型Map的变量定义和使用方法。知识要点泛型的含义就是类型参数化,数据类型不固定,可以作为参数传入。泛型的好处:更好的安全性(将运行时错误转变成编译时错误)、更好的可读性、省去强制类型转换麻烦。知识要点泛型定义使用<>来声明。通常使用一个字母来代表类型参数,例如:E、T、S、K和V等。知识要点泛型List定义方式varlist=<T>[];List<T>list1=[];知识要点泛型Set定义方式varset=<T>{};varset1=Set<T>();Set<T>set2={};知识要点泛型Map定义方式varmap=<T,E>{};varmap1=Map<T,E>();Map<T,E>map2={};案例:泛型函数泛型和异常案例描述设计一个案例,演示泛型函数的定义、功能和使用方法。知识要点泛型函数的定义

TgetInfo<T>(Tvalue){

Ttemp;temp=value;returntemp;}函数的返回值类型(T)参数的类型(Tvalue)局部变量的类型(Ttemp)函数名后面的<T>负责接收T并确定T

为哪种类型。使用泛型的位置知识要点泛型函数的调用在函数名后面的<>中指定具体类型,函数的实参提供与指定类型一致的数据。Stringstr=getInfo<String>("hello");Mapmap=getInfo<Map>({'name':'Jack','age':18,'weight':75.8});示例ThanksDART案例:泛型类泛型和异常案例描述设计一个案例,演示泛型类的定义和使用方法。知识要点泛型类的定义在类名后面使用尖括号(<...>)来指定泛型参数,指定泛型参数时可以利用

extends关键字限定参数类型。声明泛型类后,类中的方法和属性都可以使用泛型。知识要点classPerson<TextendsString>{

T

sayHello(Tname){

print("Hello,我是$name");

returnname;}}classMyList<T>{

Listlist=<T>[];//泛型属性

voidadd(Tvalue){//泛型方法

this.list.add(value);

}

ListgetList(){//普通方法

returnlist;

}}示例1:示例2:知识要点泛型类的使用利用泛型类创建对象时,可以指定泛型类的具体类型,也可以不指定泛型类的具体类型。如果指定了泛型类的具体类型,类中的泛型属性和方法都必须使用指定类型,否则就可以使用任意类型。知识要点MyListl1=newMyList();//不指定泛型类的类型MyListl2=newMyList<String>();//指定泛型类的类型MyListl3=newMyList<int>();

//指定泛型类的类型Personperson=newPerson();

//不能指定泛型类利用泛型类创建对象示例:知识要点注意事项如果类中的属性或方法使用了泛型,则该类必须定义为泛型类。ThanksDART案例:泛型接口泛型和异常案例描述设计一个案例,演示泛型接口的定义和使用方法。知识要点实现泛型接口的类必须是泛型类。定义泛型类中的泛型方法时,可以不用声明泛型而直接使用泛型作为函数参数及函数返回值。ThanksDART案例:异常泛型和异常案例描述设计一个案例,演示测试异常、捕捉异常和抛出异常的实现方法。知识要点Dart异常是Exception

或者Error及其子类类型。Exception主要是指程序本身可以处理的异常,如IOException

等。Error是程序本身无法处理的错误,表示运行程序时出现较严重的问题,如内存溢出OutOfMemoryError等。知识要点Dart代码可以抛出并捕获异常,但与

java相反,Dart的所有异常都是未检查的异常,方法不声明它们可能抛出哪些异常,也不需要捕获任何异常。知识要点抛出异常的三种方式testException(){

throw"thisisexception";}testException2(){

throwException("thisisexception");}voidtestException3()=>throwException("testexception");知识要点测试、捕获和处理异常try{

//codethatmightthrowanexception}onException1{

//exceptionhandlingcode}catch(Exception2){

//exceptionhandling}finally{

//codethatshouldalwaysexecute;irrespectiveoftheexception}知识要点捕获异常的

3种方式on可以捕获到某一类的异常,但是获取不到异常对象。catch可以捕获到异常对象。on和catch这两个关键字可以组合使用。rethrow可以重新抛出捕获的异常。知识要点Dart内置异常ThanksDART案例:自定义异常泛型和异常案例描述设计一个案例,演示自定义异常类,并抛出、捕捉和处理该异常的实现方法。知识要点Dart中的每个异常类型都是内置类Exception的子类型,因此自定义异常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论