首页 > 其他分享 >Dart 重载操作符

Dart 重载操作符

时间:2023-03-15 15:55:25浏览次数:29  
标签:10 Square double height width square 操作符 重载 Dart

重载操作符的目的:对象与对象之间也可以进行+ - × ÷ -- ++ == | & 等操作

class Square {
double? width;
double? height;
Square({required double width,required double height}){
this.width = width < 0 ? 0 : width;
this.height = height < 0 ? 0 : height;
}
/// 返回类型可写可不写,dart会自动推断!
@override
Square operator + (Square square){
var w = (this.width??0) + (square.width??0);//宽加宽
var h = (this.height??0) + (square.height??0);//高加高
return Square(width: w, height: h);
}
}

main(List<String> args) {
Square s1 = Square(width: 10, height: 10);
Square s2 = Square(width: 10, height: 10);
Square s3 = s1 + s2;
print(s1.area());//100
print(s2.area());//100
print(s3.area());//400
}

标签:10,Square,double,height,width,square,操作符,重载,Dart
From: https://www.cnblogs.com/JarryShu/p/17218843.html

相关文章

  • 【C】操作符详解
    1.操作符分类:算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员2.算术操作符+-*......
  • 方法重载和可变参数--面向对象基础
    1.基本介绍227java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致!比如:System.out.println();可以输出不同类型的值out是PrintStream类型1.1重载的好处......
  • Dart 类
    类类属性基于Dart的所有变量均是对象的原则,建议所有的变量初始化或加上空安全;Dart对象的属性如果没有限制空安全,则必须在初始化时赋值。classCar{String?nam......
  • Dart 的 变量
    Dart语言定义变量支持使用具体变量类型Stringstr="";intinteger=1;doubledou=3.1415926;Listlist=[1,2,3,4];也可用var定义,编译器会自动识别第一次赋值......
  • Dart利用注解生成代码
    个人博客:http://www.milovetingting.cnDart利用注解生成代码引入依赖dev_dependencies: source_gen:^1.2.6 build_runner:'>2.3.0<4.0.0'定义注解import'p......
  • 函数柯里化和new操作符的实现
    函数柯里化柯里化在计算机科学中,柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数......
  • java学习日记20230311-方法重载/可变参数/作用域
    方法重载java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致:System.out.println();减轻了起名的麻烦减轻了记名的麻烦方法名必须相同形参列表必须不同(个......
  • Dart数据类型
    基本类型Number型int整型inti=10;varj=20;double浮点型doublei=3.14;varj=3.14;string字符串Stringstr="goodmorning";varstrin......
  • ES6-ES11 ES11可选链操作符
    原视频<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title......
  • 【质因数分解算法详解】C/Java/Go/Python/JS/Dart/Swift/Rust等不同语言实现
    关于质因数分解算法的不同语言实现,通过实例来看不同语言的差异什么是质因数算法?即任意一个合数可以分解为多个质数相乘。例如:20=2*2*545=3*3*5210=2*......