当前位置: 首页 > news >正文

淮安软件园网站建设创意设计素材

淮安软件园网站建设,创意设计素材,深圳好的网站建设公司,石家庄建设集团网站前言 任何需要对属性进行更多控制而不是允许简单字段访问的时候,你都可以自定义 getter 和 setter。 正文 讲解 Getter(获取器)和Setter(设置器)是面向对象编程中用于控制对类属性访问的特殊方法。Getter用于获取属…

前言

任何需要对属性进行更多控制而不是允许简单字段访问的时候,你都可以自定义 getter 和 setter。

正文

讲解

Getter(获取器)和Setter(设置器)是面向对象编程中用于控制对类属性访问的特殊方法。Getter用于获取属性的值,而Setter用于设置属性的值。它们允许你在属性访问过程中添加额外的逻辑,例如验证输入、计算属性或记录属性访问。在你提供的示例中,你展示了如何在Dart编程语言中定义Getter和Setter。

首先,让我们来看看Getter的示例:

class MyClass {int _aProperty = 0;// Getter for aPropertyint get aProperty => _aProperty;
}

在上述示例中,我们创建了一个名为_aProperty的私有属性,并定义了一个名为aProperty的Getter。Getter的定义方式是在属性名称前面添加get关键字,后跟Getter的名称。在Getter内部,我们简单地返回了_aProperty的值。这允许外部代码通过myInstance.aProperty来访问_aProperty的值,就像访问普通属性一样,但实际上是通过Getter方法。

接下来,让我们来看看Setter的示例:

class MyClass {int _aProperty = 0;// Setter for aPropertyset aProperty(int value) {if (value >= 0) {_aProperty = value;}}
}

在这个示例中,我们定义了一个名为aProperty的Setter。Setter的定义方式是在属性名称前面添加set关键字,后跟Setter的名称。在Setter内部,我们可以添加额外的逻辑以控制属性的赋值。在这里,我们检查传入的值是否大于等于0,如果是,则将其赋值给_aProperty。这意味着外部代码可以通过myInstance.aProperty = newValue来设置_aProperty的值,但Setter允许我们在赋值时添加验证或其他逻辑。

总结一下,Getter和Setter是用于控制属性访问的特殊方法,允许你在获取和设置属性值时添加额外的逻辑。Getter用于获取属性的值,Setter用于设置属性的值。这些机制有助于封装属性并确保属性值的合法性。在示例中,你展示了如何在Dart中定义Getter和Setter,但这些概念在许多其他面向对象编程语言中也是通用的。

练习

想象你有一个购物车类,其中有一个私有的 List 类型的 prices 属性。添加以下内容:

一个名为 total 的 getter,用于返回总价格。

只要新列表不包含任何负价格, setter 就会用新的列表替换列表(在这种情况下,setter 应该抛出 InvalidPriceException)。

答案:

class InvalidPriceException {}class ShoppingCart {List<double> _prices = [];double get total => _prices.fold(0, (e, t) => e + t);set prices(List<double> value) {if (value.any((p) => p < 0)) {throw InvalidPriceException();}_prices = value;}
}
http://www.yayakq.cn/news/348708/

相关文章:

  • 帮人做网站要怎么赚钱津坤科技天津网站建设
  • 精美网站制作阿里云邮箱企业版
  • 做网站需要数据库wordpress 文章转dz
  • 商城网站规划服务好的企业网站怎么建设
  • 网站icp备案费用成品视频直播软件推荐哪个好一点的
  • 旅游网站建设流程是什么意思wordpress会员关注
  • 现在建设一个基础的网站多少钱wordpress视频设置
  • 如何将自己做的网站传到网上登录不上wordpress
  • wordpress 视频 播放器插件下载呼市网站优化
  • 桂林北站改造优化网哪个牌子好
  • 网站评论管理怎么做的巴中网站开发
  • 专业汽车网站wordpress熊掌
  • 设计类投稿网站专业做网站优化价格
  • 网站后台清空手机网站绑定域名是什么
  • 微网站自己怎么做的吗西安网页开发公司
  • 域名买好了怎么做网站东莞市长安镇网站制作优化
  • 网站空间租用续费服务合同电脑怎么下载网页视频
  • 网站建设介绍ppt模板买东西的网站
  • 医疗网站前置审批查询网站设计有哪些语言版本
  • 在哪做网站好小程序定制和第三方开发有什么区别
  • 网站建设项目经费的报告游戏开发制作培训
  • 网站制作设计正规公司wordpress适用于图片站的主题
  • 网站根 htmllogo网站设计
  • 足球外围网站怎么做网站费用怎么做分录
  • 网站绑定别名好吗淘宝客如何免费做网站
  • 二手房网站建设方案网站可以更更换空间吗
  • 网站改版优化企业网站建设顾问
  • 国外ps教程网站免费建设一个可以访问的网站
  • 网站百度快照怎么做加强理想信念教育主题网站建设
  • 河南郑州哪里可以做公司网站吉林省住房和建设厅网站