带你读《深入浅出Dart》七、类和对象(1)

简介: 带你读《深入浅出Dart》七、类和对象(1)

七、类和对象

1. 引言

面向对象编程(Object Oriented Programming,简称OOP)是一种编程范型,它使用 "对象":包含数据字段(属性)和在对象上执行操作的方法。这是一种设计和结构化代码的方式,允许我们创建复杂的应用程序,使用基本代码构建并易于理解和维护。

 

Dart 作为一种面向对象的类定义语言,使用混合的继承模式:即,Dart 中的类只能有一个超类,但可以实现多个接口。类定义的语法非常接近于 C-style 的语言(如 Java、C++ 和 JavaScript),这使得大多数开发者可以快速理解和学习 Dart。

2.Dart中的类和对象

1类的定义

在 Dart 中,我们可以通过 class 关键字来定义一个类。类是一种复合的数据类型,即它包含方法(函数)和变量(称为"属性")。以下是一个类的简单示例:

class Person {
  String name;
  int age;
  void sayHello() {
    print('Hello, my name is name,Iamname, I am age years old.');
  }}

 

在这个例子中,我们定义了一个名为 Person 的类,它有两个属性 name age,还有一个方法 sayHello

2创建对象

创建类的实例(也就是对象),我们可以使用 new 关键字,然后调用类的构造函数。在 Dart 2 中,new 关键字是可选的:

 

var person = Person();
person.name = 'Alice';
person.age = 20;
person.sayHello();

3)访问属性和方法

我们可以使用 . 符号来访问对象的属性和方法:

 

print(person.name);  // 输出 Alice
person.sayHello();  // 输出 Hello, my name is Alice, I am 20 years old.

4构造函数

在 Dart 中,构造函数的名称与类的名称相同,我们可以在构造函数中初始化对象的属性:

 

class Person {
  String name;
  int age;
  // 这是一个构造函数
  Person(String name, int age) {
    this.name = name;
    this.age = age;
  }
  void sayHello() {
    print('Hello, my name is name,Iamname, I am age years old.');
  }}
var person = Person('Alice', 20);
person.sayHello();


带你读《深入浅出Dart》七、类和对象(2)https://developer.aliyun.com/article/1349064?groupCode=tech_library

相关文章
|
5月前
|
小程序 关系型数据库 MySQL
计算机毕设优秀选题全景解析:从企业级架构视角打造高质量毕业项目
本文提供高校毕设选题科学指南:构建五维评估框架(技术可行性、功能聚焦性、架构规范性、部署可演示性、简历可展示性),详解电商、管理系统、数据大屏、小程序、AI五大高通过率方向,含企业级架构设计、云部署方案与避坑清单,助你高效完成高质量毕设。
|
7月前
|
云安全 安全 Cloud Native
阿里云智能云原生应用保护平台CNAPP(原安全中心)详解:费用价格、功能优势及问题解答FAQ
阿里云全新升级智能云原生应用保护平台(CNAPP),融合CWPP、CSPM、CIEM、CTDR四大能力,提供覆盖“事前-事中-事后”的全链路安全防护。支持多云纳管、自动威胁响应与合规检查,助力企业实现安全左移、风险可视、响应自动化。
|
2月前
|
人工智能 弹性计算 开发者
2026年阿里云618活动攻略:时间、入口及优惠政策详解
2026阿里云618大促开启!主题“AI加速季,智惠生产力”,6月1日-30日限时开展。涵盖云服务器秒杀(低至38元/年)、上云满减券(最高减1728元)、Qwen 3.7大模型5折、全模型节省计划直省55%,及QoderWork首月0元等专属AI权益,助力开发者与企业低成本上云、高效用AI。(240字)
797 2
|
10月前
|
数据采集 机器学习/深度学习 运维
数字孪生赋能园区能源数字化:MyEMS 的孪生体建模逻辑与全周期管理实践​
MyEMS融合数字孪生技术,构建园区能源全周期管理闭环,实现能耗可视、故障预警、智能仿真与优化决策,助力智慧园区绿色低碳转型。
509 0
|
6月前
|
安全 Android开发 开发者
你还在用李跳跳吗?试试这款安卓自动点击神器——GKD
GKD是一款开源Android自动点击工具,基于无障碍或Shizuku权限,智能识别并点击“跳过广告”“关闭弹窗”等按钮,大幅减少手动操作。支持规则订阅、按App定制、轻量省电,是李跳跳的理想平替——更开放、可维护、长期可用。(239字)
3205 4
|
机器学习/深度学习 JSON 算法
京东拍立淘图片搜索 API 接入实践:从图像识别到商品匹配的技术实现
京东拍立淘图片搜索 API 是基于先进图像识别技术的购物搜索接口,支持通过上传图片、URL 或拍摄实物搜索相似商品。它利用机器学习和大数据分析,精准匹配商品特征,提供高效、便捷的搜索体验。接口覆盖京东海量商品资源,不仅支持外观、颜色等多维度比对,还结合用户行为数据实现智能推荐。请求参数包括图片 URL 或 Base64 编码,返回 JSON 格式的商品信息,如 ID、价格、链接等,助力消费者快速找到心仪商品,满足个性化需求。
982 18
|
存储 算法 C语言
C 408—《数据结构》算法题基础篇—链表(上)
408考研——《数据结构》算法题基础篇之链表(上)。
977 25
|
10月前
|
算法 数据挖掘 大数据
别光努力发内容了,先把“数据眼”睁开:用数据放大你的社交媒体影响力
别光努力发内容了,先把“数据眼”睁开:用数据放大你的社交媒体影响力
693 8
|
NoSQL Java 数据库连接
SpringBoot框架
Spring Boot 是 Spring 家族中最流行的框架,旨在简化 Spring 应用的初始搭建与开发。它通过自动配置、起步依赖和内嵌服务器三大核心功能,大幅减少配置复杂度,提升开发效率。开发者可快速构建独立运行的 Web 应用,并支持多种数据访问技术和第三方集成。

热门文章

最新文章