Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain

4. 高级特性

4.1 面向对象编程支持

面向对象编程(OOP)是现代编程语言中广泛采用的一种编程范式,仓颉编程语言也提供了强大的面向对象编程支持。本节将详细介绍仓颉语言中面向对象编程的核心概念、语法特性以及实际应用。

4.1.1 类与对象

在仓颉语言中,类是面向对象编程的基本构建块。类定义了对象的属性和行为。通过类,可以创建多个具有相同属性和方法的对象。

class 动物:
    def __init__(self, 名字, 年龄):
        self.名字 = 名字
        self.年龄 = 年龄

    def 叫(self):
        print(f"{self.名字} 在叫!")

# 创建对象
狗 = 动物("旺财", 3)
狗.叫()  # 输出: 旺财 在叫!
4.1.2 继承与多态

继承是面向对象编程中的一个重要特性,它允许一个类继承另一个类的属性和方法。仓颉语言支持单继承和多继承。

class 狗(动物):
    def __init__(self, 名字, 年龄, 品种):
        super().__init__(名字, 年龄)
        self.品种 = 品种

    def 叫(self):
        print(f"{self.名字} 是一只 {self.品种},它在汪汪叫!")

# 创建对象
我的狗 = 狗("小黑", 2, "拉布拉多")
我的狗.叫()  # 输出: 小黑 是一只 拉布拉多,它在汪汪叫!

多态允许不同类的对象对同一消息做出不同的响应。仓颉语言通过方法重写实现多态。

4.1.3 封装与访问控制

封装是面向对象编程的另一个重要特性,它通过访问控制来保护对象的内部状态。仓颉语言提供了多种访问控制修饰符,如 public、private 和 protected。

class 银行账户:
    def __init__(self, 账户名, 余额):
        self.账户名 = 账户名
        self.__余额 = 余额  # 私有属性

    def 存款(self, 金额):
        self.__余额 += 金额

    def 取款(self, 金额):
        if 金额 <= self.__余额:
            self.__余额 -= 金额
        else:
            print("余额不足")

    def 获取余额(self):
        return self.__余额

# 创建对象
账户 = 银行账户("张三", 1000)
账户.存款(500)
print(账户.获取余额())  # 输出: 1500
账户.取款(2000)  # 输出: 余额不足
4.1.4 抽象类与接口

抽象类和接口是面向对象编程中用于定义规范和约束的工具。仓颉语言支持抽象类和接口的定义与实现。

from abc import ABC, abstractmethod

class 形状(ABC):
    @abstractmethod
    def 计算面积(self):
        pass

class 圆形(形状):
    def __init__(self, 半径):
        self.半径 = 半径

    def 计算面积(self):
        return 3.14 * self.半径 ** 2

# 创建对象
圆 = 圆形(5)
print(圆.计算面积())  # 输出: 78.5
4.1.5 面向对象设计原则

在仓颉语言中,遵循面向对象设计原则(如单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则)可以帮助开发者编写出更加健壮和可维护的代码。

4.1.6 实际应用案例

通过一个实际的案例,展示如何在仓颉语言中使用面向对象编程来构建复杂的应用程序。例如,开发一个简单的图书管理系统,包含图书类、用户类和借阅管理类等。

class 图书:
    def __init__(self, 书名, 作者, ISBN):
        self.书名 = 书名
        self.作者 = 作者
        self.ISBN = ISBN

class 用户:
    def __init__(self, 用户名, 用户ID):
        self.用户名 = 用户名
        self.用户ID = 用户ID

class 借阅管理:
    def __init__(self):
        self.借阅记录 = []

    def 借书(self, 用户, 图书):
        self.借阅记录.append((用户, 图书))
        print(f"{用户.用户名} 借阅了 {图书.书名}")

# 创建对象
图书1 = 图书("仓颉编程语言", "张三", "123456789")
用户1 = 用户("李四", "001")
借阅系统 = 借阅管理()
借阅系统.借书(用户1, 图书1)  # 输出: 李四 借阅了 仓颉编程语言

通过本节的学习,读者将掌握仓颉语言中面向对象编程的核心概念和实际应用技巧,能够利用面向对象的思想设计和实现复杂的程序。

Last Updated:: 3/18/25, 4:00 PM