1. 写在前面

在上篇文章中介绍了Dart中的匿名函数闭包,那么现在就继续来学习 Dart中的对象是如何定义和使用的。

【Flutter】苹果Mac电脑配置flutter开发环境

【Flutter】 Android Studio 安装第三方模拟器—网易MuMu

【Flutter】项目运行报错Failed to find Build Tools revision 29.0.2

【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘

【Flutter】如何新建项目,运行你的第一个 flutter 工程项目

【Flutter】Dart中的var、final 和 const基本使用

【Flutter】Dart数据类型之num

【Flutter】Dart数据类型之String

【Flutter】Dart的数据类型list&Map(数组和字典)

【Flutter】Dart的方法与箭头函数

【Flutter】Dart的方法中的可选参数、方法作为参数传递

【Flutter】Dart中的匿名函数、闭包

2. 类

使用 class 关键字来声明一个类,这和 Swift 很像,可以使用 new关键字来调用构造函数,所有的对象都继承 Object 类,这点和 OC 有点像。

2.1 定义一个类

  • 定义一个类
class JPPerson {// 属性String name = "reno";int? age;//方法 void info() {print("name:$name age:$age");}
}

如果属性不赋默认值的话,可以使用?表示可以为空,类型于 Swift 中的可选 option 类型。

2.2 类的初始化

  • 类的初始化
void main() {JPPerson person = JPPerson();person.age = 18;person.info();
}

JPPerson类并没有写构造方法,但是类是默认有构造方法的。

2.3 方法和属性

属性和方法的调用,和Swift 一样都是用点语法。

  • 代码运行结果

  1. dart 中默认会生成 getter和 setter 方法
  2. 属性和方法都是通过点语法访问
  3. final 修饰的属性必须定义初始值
// final String nationality = "中国";final String nationality;String name = "reno";int? age;JPPerson(this.age,this.nationality);//构造方法

final修饰的如果不给默认值,可以构造方法中写入,初始化类对象的时候赋值就可以了。

2.4 方法不可以重载

  • dart 中方法不可以重载

方法不可以重载,哪怕是参数不一样都不行的,因为方法名字就是唯一的标示,不能相同。

dart中是没有.h.m文件的,那么怎么区分哪些是私有的,哪些是可以外部使用的呢?

2.5 私有属性和方法

dart中没有什么私有的关键字,直接使用下划线前缀就是私有的了,外部不可以访问,那么现在新建一个类文件,注意不要使用驼峰命名,否则会警告⚠️,jp_person.dart代码如下。

class JPPerson {final String nationality;String? _name;int? height;int? _age;JPPerson(this._age,this.nationality,this.height);//构造方法void _info() {print("name:$_name age:$_age");}void printP(){_info();print("height:$height");}
}

私有的是访问不了,会报错,如下:

  • 没有加下划线的开头的就是可以外部访问的

2.6 全局方法

  • 同一个类文件中的全局方法,可以访问类的私有的属性和方法,如下:

3. 写在后面

关注我,更多内容持续输出

  • CSDN
  • 掘金
  • 简书

【Flutter】Dart中的类和对象相关推荐

  1. python中类和对象的内容_python中的类和对象

    摘要:本文主要介绍了python中的类和对象的基础内容.由于在c++中对类和对象已经有了较为深刻的认识,所以此部分就是主要熟悉一下创建方法和使用方法. 1.类.对象的创建和简单使用 主要观察创建类的方 ...

  2. 【面向对象】面向对象程序设计测试题4-Java中的类和对象测试

    Test4:Java中的类和对象测试题 问题 1 What happens when you try to compile and run the following program? class M ...

  3. Java快速入门学习笔记7 | Java语言中的类与对象

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  4. 不应该通过类实例访问静态成员 解决方法_今天说一说php中的类与对象

    网上的文章博客这种东西已经写烂了. 我只是写写自己理解.... 首先都知道php的面向对象,什么封装,集成,多态,灵活,简单,代码简洁,重用行强,利于维护,什么什么三个方向:灵活性,重用行,扩展性. ...

  5. 在 UML 静态结构图中使用类和对象

    在 UML 静态结构图中使用类和对象 向类.组件或其他元素添加接口 在静态结构图.组件图或部署图中,将棒糖形"接口"形状(用一条直线加圆圈表示)拖到绘图页上. 将不带圆圈的端点粘附 ...

  6. 12月29日--Java中有关类与对象的学习记录

    1.12月29日第一课记录 Java中有关类与对象的学习记录 一.基本概念部分 1.类:具有相同.相似的属性.特征.行为方式以及功能的一类事物的总称 (举例:一类用户,如淘宝用户) 类是对象的模板 是 ...

  7. JAVA中的类和对象之this的详解

    系列文章目录 第一章 JAVA中的类和对象之this的详解 目录 前言 一.为什么要有this引用 二.this的三种用法 1.this.成员变量 2.this.成员方法 3.this()调用其它的构 ...

  8. 面向对象系列教材 (一)- Java中的类和对象

    面向对象系列教材 (一)- Java中的类和对象 本章节会引入面向对象的基本概念 (但是不会深入展开,仅仅是引入. 深入的学习会在后续的类和对象以及接口与继承 中展开) 相信你肯定玩过DOTA或者LO ...

  9. 1~22(面向编程+ES6中的类和对象+类的继承+面向对象版tab栏切换)

    1 面向对象编程介绍 1.1 两大编程思想 面向过程 面向对象 1.2 面向过程编程POP(Process-oriented programming) 面向过程就是分析出解决问题所需要的步骤,然后用函 ...

  10. java中的类和对象(重点)超详细

    java中的类和对象 1.类与对象的初步认知 2.类和对象的实例化 3.类的成员 3.1.字段,属性,成员变量 3.2.方法 3.3.static 关键字 3.4.小结 4.封装 4.1.privat ...

最新文章

  1. Linux系统下活用History命令
  2. RISC-V浪潮来袭!115页PPT超详论述,如何与ARM争锋!(一)
  3. 第八次课作业(采购管理、信息与配置管理)
  4. Python语言学习之字母R开头函数使用集锦:random/range/replace/reshape用法之详细攻略
  5. 支持64位系统的XOR加密后内存加载PE绕过杀毒软件
  6. 苏大微型计算机原理与应用题库,苏州大学计算机原理及应用考研复习题.pdf
  7. 查找Python中给定字符串的所有排列
  8. Adobe illustrator 批量变换同时选中的单个对象 - 连载 12
  9. SASS与 PASS的基本定义、适用范围以及差异
  10. excel android 官网下载地址,excel手机版app下载-excel手机版(excel教程学习)下载v2.0 安卓版-西西软件下载...
  11. Spring Configuration Check Unmapped Spring configuration files found.Please configure Spring
  12. 纯css 箭头,纯CSS实现小箭头的案例
  13. 各类邮箱谷歌邮箱、Outlook邮箱、雅虎邮箱的购买养号策略
  14. Linux 桌面玩家指南:01. 玩转 Linux 系统的方法论
  15. 计算机网络中的ttl怎么理解,Ping值中“TTL”是什么意思,为什么使用“TTL”这个概念?...
  16. 重磅推出:2019中国开源年度报告
  17. iPhone十年,移动用户体验领域已经到达成熟阶段
  18. 计算机相关美文摘抄,半途而废的人生很美美文摘抄
  19. 工程训练(第一章 关于劳动 )-江苏海洋大学-mooc 答案
  20. webpack基础配置

热门文章

  1. 项目工作总结——人脸建模方法研究
  2. 如何获取jar包的在执行机上面的路径
  3. spring注解方式配置以及spring4的泛型注入 (4)
  4. HTML DOM Event(事件)
  5. 成员方法的使用及其调用
  6. Java Web底层(1)
  7. 第四次课后作业及Sring类型的应用
  8. Java中FilterInputStream和FilterOutputStream的用法
  9. minSdkVersion、maxSdkVersion、targetSdkVersion、target释义
  10. ARM汇编中值滤波实验