dart学习笔记-枚举与泛型(代码片段)

追到梦的魔术师 追到梦的魔术师     2022-12-12     542

关键词:

一、枚举

1、枚举是一种有穷序列集的数据类型
2、使用关键字enmu定义一个枚举
3、常用于代替常量,控制语句等

enum Season
  spring,
  summer,
  autumn,
  winter


void main() 
  var currentSeason = Season.spring;
  switch(currentSeason)
    case Season.spring:
      print("1-3月");
      break;
    case Season.summer:
      print("4-6月");
      break;  
    case Season.autumn:
      print("7-9月");
      break;
    case Season.winter:
      print("10-12月");
      break;
  

index从0开始,依次累加

 var currentSeason = Season.spring;
 print(currentSeason.index);//0

注意:Dart中枚举不能指定原始值,不能添加方法!!

二、泛型

1、Dart中类型是可选的,可使用泛型限定类型
2、使用泛型能够有效的减少代码重复

类的泛型:在类名后定义

void main() 
  var utils1 = new Utils1<int>();
  utils1.put(1 );


class Utils1<T>
  T element;
  
  void put(T element)
    this.element = element;
  

方法的泛型:在方法名后定义

void main() 
 var utils2 = new Utils2();
  utils2.put<String>("1");


class Utils2
  void put<T>(T element)
    print(element);
  



effectivec++笔记(10)—模板与泛型编程(代码片段)

条款46:需要类型转换时请为模板定义非成员函数考虑之前的例子,对于操作符重载:classRationalpublic:Rational():x(0)Rational(intx_):x(x_)Rational&operator*(constRational&rhs)x*=rhs.x;return*this;intx;;intmain( 查看详情

effectivec++笔记—模板与泛型编程(代码片段)

模板内容很丰富,分两次记录吧条款41:了解隐式接口和编译期多态对应了显示接口和运行期多态。下面一个例子说明:voidfunc(Widget&w)cout<<w.size()<<endl;func参数类型被声明为Widget,所以w必须支持Widget接... 查看详情

java枚举与泛型

目录枚举 泛型枚举枚举类创建:enumSeason1{//1.提供当前枚举类的对象,多个对象之间用","隔开,末尾对象";"结束SPRING("春天","春暖花开"),SUMMER("夏天","夏日炎炎"),AUTUMN("秋天","秋高气爽"),WINTER("冬天","冰天雪地");//2.声明Season对... 查看详情

作业09-集合与泛型

1.本周学习总结1.1以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。1.2选做:收集你认为有用的代码片段while(true){Stringstr=sc.nextLine();String[]str1=str.split("");if(str1[0]==null)System.out.println("found0results");else{if(map.containsKey... 查看详情

boolanstl与泛型编程第一周笔记

...做了一些,这章的题除了涉及到模板,还整合了很多之前学习容器的时候的习题(往往是用模板实现类或者函数,其中有很多使用容器的练习) 查看详情

201621044079韩烨作业09-集合与泛型

作业09-集合与泛型1.本周学习总结1.1以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。1.2选做:收集你认为有用的代码片段2.书面作业本次作业题集集合1.List中指定元素的删除(题集题目)1.1实验总结。并回答:列... 查看详情

java泛型泛型简介(泛型类|泛型方法|静态方法的泛型|泛型类与泛型方法完整示例)(代码片段)

...二、泛型类三、泛型方法四、静态方法的泛型五、泛型类与泛型方法完整示例一、泛型简介泛型可以简单理解为参数化类型,主要作用在类,方法,接口上;java泛型与C++模板:Java中的泛型,是仿照C++中的模板开发的,目的是... 查看详情

模板与泛型编程1(函数模板)(代码片段)

定义、实例化函数模板:对于函数体完全相同,唯一差异就是参数类型的情况,我们可以定义一个通用的函数模板,而非为每个类型都定义一个新函数:1#include<iostream>2#include<vector>3usingnamespacestd;45template<typenameT>//模... 查看详情

泛型学习笔记(代码片段)

文章目录使用泛型算法设计泛型算法FunctionObject(函数对象)FunctionObjectAdapter(函数对象适配器)MapSetIteratorInserteriostreamIterator使用泛型算法需要头文件algorithmfind(_InIt_First,const_InIt_Last,const_Ty&_Val)用于搜索无序集合中是否存在某值。b... 查看详情

泛型学习笔记(代码片段)

文章目录泛型算法的概念Iterator(迭代器|泛型指针)容器的共同操作顺序性容器vectorlistdeque操作函数泛型算法的概念泛型算法提供了许多可作用于容器类以及数组类型上的操作。这谁算法之所以被称为泛型,是因为它们和它们... 查看详情

spark基础-scala学习(七类型参数)(代码片段)

类型参数是什么类似于java泛型,泛型类泛型函数上边界Bounds下边界ViewBoundsContextBoundsManifestContextBounds协变和逆变ExistentialType泛型类scala>:paste//Enteringpastemode(ctrl-Dtofinish)classStudent[T](vallocalId:T)defgetSchoolId(hukouId:T)="S-"+hukouId+"-"+localId... 查看详情

java?不定类型与泛型的使用解决list继承参数(代码片段)

?表示不确定的数据类型。下面我们来看看怎么使用。定义模型和子模型@DatapublicclassModelStringid;Stringname;Stringdesc;@DatapublicclassSubModelextendsModelStringsubName;定义List泛型接口和实现publicinterfaceMultiModelService/***多模 查看详情

dart学习笔记-面向对象编程(代码片段)

一、类与对象,声明、创建及基本特征1、声明与创建类与对象使用关键字class声明类使用关键字new创建对象,new可省了varperson=Person();2、Dart类的特性属性默认生成getter和setter方法使用final声明的属性只有getter方法属性... 查看详情

dart学习笔记-方法(代码片段)

一、方法定义方法也是对象,并且有具体类型Function返回类型、参数类型都可以省略箭头语法:=>expr是returnexpr;缩写。只适用于一个表达式方法都有返回值。如果没有制定,默认returnnull左后一句执行//方法也是对... 查看详情

dart学习笔记-面向对象编程(代码片段)

一、继承、继承中的构造函数键字extends继承一个类子类会继承父类可见的属性和方法,不会继承构造方法子类能够复写父类的方法、getter和setter单继承classPersonStringname;intage;String_birthday;boolgetisAdult=>age>18;voidrun()print(... 查看详情

c++标准容器库与泛型编程(代码片段)

文章目录STL六大组件容器分类Hash与红黑树的区别分配器(allocator)STL设计模式OOP和GP模板特化malloc分配内存的一点东西容器listIterator遵循原则vectordeque红黑树容器set和multiset容器map和multimaphashtable(哈希表)迭代器的分类算法... 查看详情

boolanstl与泛型编程第三周笔记

对于本周老师讲的内容,C++Primer上面有第十一章关联容器的习题可以做。有一些地方还是不懂,搞明白了再写上来。P422E11.4//P422E11.4#include<string>#include<map>#include<iostream>usingnamespacestd;//要在一个容器中删除元素,好的... 查看详情

dart学习笔记-运算符(代码片段)

一、算数运算符inta=10;intb=2;print("a+b=$a+b");//a+b=12print("a-b=$a-b");//a-b=8print("a*b=$a*b");//a*b=20print("a/b=$a/b");//a 查看详情