2

【笔记】Dart的面向对象

 1 year ago
source link: https://loli.fj.cn/2023/03/09/Dart%E7%9A%84%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

【笔记】Dart的面向对象

Dart的面向对象学习笔记

  • 类名首字母大写
class 类名 {
...
}

类中定义属性

class 类名 {
数据类型 属性名 = 属性值;
}

类中定义方法

class 类名 {
返回值类型 方法名(参数列表) {
...
}
}

类中定义构造方法

  • 构造方法在对象被创建时立即执行,用于初始化对象
  • 构造方法名与类同名
  • 构造方法没有返回值,且无需void关键字
默认构造方法
  • 通过类创建对象时,通常使用默认构造方法创建对象
  • 每个类只能包含一个默认构造方法
class 类名 {
类名() {
...
}
}
  • 有参构造方法用于初始化对象的属性
class 类名 {

数据类型 属性名;

类名(属性名) {
属性名 = this.属性名;
}
}
class 类名 {

数据类型 属性名;

类名(this.属性名);
}
命名构造方法
  • 通过类创建对象时,也可以使用命名构造方法创建对象
  • 每个类可以包含多个命名构造方法
class 类名 {

数据类型 属性名;

类名.构造方法名(属性名) {
属性名 = this.属性名;
}
}

实例化类为对象

通过默认构造方法

类名 对象名 = new 类名();

通过命名构造方法

类名 对象名 = new 类名.构造方法名();

获取对象中的属性

对象名.属性名;

调用对象的方法

对象名.方法名(参数列表);

分离类为独立dart文件

User.dart

class User {
...
}

其他dart文件引入类

import "User.dart";

User user = new User;
  • 可以通过在类内部的属性名和方法名添加_作为前缀,那么这个属性名和方法名就成为了私有属性和私有方法
  • 必须把类分离为独立dart文件,才能实现私有权限
class 类名 {

数据类型 _私有属性名;

返回值类型 _私有方法名(参数列表) {
...
}
}

Getter方法

定义Getter方法

  • Getter方法的返回值类型用get修饰
  • Getter方法没有参数列表,也不需要使用()定义无参
class 类名 {
get Getter方法名 {
return 值;
}
}

使用Getter方法

  • 如果一个类中已经定义了Getter方法,那么可以直接通过调用Getter方法名的方式获取Getter的返回值
类名 变量名 = new 类名();
变量名.Getter方法名;

Setter方法

定义Setter方法

  • Setter方法的返回值类型用set修饰
  • Setter方法的参数列表用于传递需要修改的变量的新值
class 类名 {

数据类型 属性名;

set Setter方法名(新值) {
属性名 = 新值;
}
}

使用Setter方法

类名 变量名 = new 类名();
变量名.Setter方法名(新值);

哔哩哔哩——筱筱知晓


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK