【Flutter】学习养成记,【程序员必备小知识】
今日小知识——【Flutter】Dart
中的类和对象!
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 一样都是用点语法。
- 代码运行结果
- dart 中默认会生成 getter和 setter 方法
- 属性和方法都是通过点语法访问
- 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
- 掘金
喜欢就点个赞吧
觉得有收获的,可以来一波 收藏+关注,以免你下次找不到我
欢迎大家留言交流,批评指正,
转发
请注明出处,谢谢支持!