首页 > 其他分享 >dart 方法与属性私有化

dart 方法与属性私有化

时间:2023-04-13 15:34:40浏览次数:28  
标签:修饰符 name read 私有化 dart stu Student 属性

dart 方法与属性私有化

在一些场景下我们要是自己封装的类里面的属性或者方法不能让外部访问,那么如何做到呢,在java语言中提供了访问修饰符来实现这一需求,但dart并没有提供修饰符,所以无法直接使用修饰符来私有化,但Dart使用了另外一种写法提供私有化,那就是在属性或方法名前面加上_即可实现私有化。
私有化前

class Student{
int age;
String name;

read(){
print("我是一个学生类----$name");
}
}
void main(){
  Student st = new Student();
  stu.name="张三";
  stu.read();
}

私有化后

class Student{
int _age;
String _name;

_read(){
print("我是一个学生类----$name");
}
}
void main(){
  Student st = new Student();
  //可以在ide中再次尝试这种写法,会有报错提示
  stu.name="张三";
  stu.read();
}

标签:修饰符,name,read,私有化,dart,stu,Student,属性
From: https://blog.51cto.com/u_15314615/6188097

相关文章

  • dart中int类型变量与String类型变量拼接的三种方式
    dart中int类型变量与String类型变量拼接的三种方式//声明一个String类型变量Stringstr="你好Dart";//声明一个int类型变量intx=1;1、传统语言写法print(str+x.toString());2、类似于过JavaScriptes6新特性的写法2、print(str+"${x}");3、最简单的写法省略了{}......
  • 浅谈对属性描述符__get__、__set__、__delete__的理解
    1、属性描述符的基础介绍1.1何为属性描述符?属性描述符是一种Python语言中的特殊对象,用于定义和控制类属性的行为。属性描述符可以通过定义__get__、__set__、__delete__方法来控制属性的读取、赋值和删除操作。通过使用属性描述符,可以实现对属性的访问控制、类型检查、计算属......
  • 质量属性之易用性
    今天要介绍的是六大属性之一的易用性,根据读一些别人博客以及课上我们组的同学介绍我认为其实易用性就是用户对于一个软件操作起来在不影响他原本的功能以及性能的情况下操作起来越是简单便捷则这个系统的易用性越高。易用性可以进一步分为易理解性:软件产品使用客户能理解软件是......
  • 如何设计角色属性组件
    目标&背景本篇文章是对ET1中NumericComponent的介绍和补充,会围绕实际开发过程中可能会碰到的一些问题,给一个解题思路,并且会结合Luban2给出一个策划和程序都开心的方案猫大曾经对NumericComponent做出过如下评论单NumericComponent就可以完成80%Moba类游戏的设......
  • C#属性(Attribute)用法实例解析
    属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变。本文就以实例形式分析了C#中属性的应用。具体如下:一、运用范围程序集,模块,类型(类,结构,枚举,接口,委托),字段,方法(含构造),方法,参数,方法返回值,属性(property),Attribute[AttributeUsage(AttributeTargets.All)]......
  • vue属性之监听属性(watch)
    目录简介语法示例简介当一个变量的值发生变化时,执行对应的函数语法#在属性中添加watch属性,并以需要监听变量的名字进行定义函数data:{show:'abc'}watch:{show(){我是函数内容}}示例<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • 利用hibernate分析数据库中的表,属性以及对应的类的类名,字段
    2010-08-1109:27hibernate获得数据库的表名列名及其数据@TestpublicvoidtestHIbernateConfig1(){SessionFactoryfactory=newAnnotationConfiguration().configure().buildSessionFactory();AbstractEntityPersisterclassMetadata=......
  • 如何判断一个对象的全部属性都是null
    根据反射机制获取对象的所有属性,然后立flag,判断每个属性是否都是nullFieldsfields=obj.getClass().getDeclaredFields;booleanflag=false;for(Fieldfield:fields){field.setAccessible(true);    if(field.get(obj)!=null&&StringUtils.isNotBlank(field.g......
  • Vue3 setup语法糖添加name属性
    1.安装插件vite-plugin-setup-extendnpmivite-plugin-setup-extend-D2.配置vite.config.tsimportvuefrom'@vitejs/plugin-vue'import{defineConfig}from'vite'//引入插件并使用importvueSetupExtendfrom'vite-plugin-vue-setup-extend�......
  • CSS 属性 选择器
     具有特定属性的HTML元素样式具有特定属性的HTML元素样式不仅仅是class和id。注意:IE7和IE8需声明!DOCTYPE才支持属性选择器!IE6和更低的版本不支持属性选择器。属性选择器下面的例子是把包含标题(title)的所有元素变为蓝色:实例[title]{color:blue;}https://www.lekaowang......