面向对象分析与Python编程实践

1、思考一个即将开展的项目。项目是什么并不重要;它可能是一个有趣的业余项目,也可能是一份数百万美元的合同项目。它不必是一个完整的应用程序,也可以只是一个子系统。进行一次基本的面向对象分析。确定需求和相互作用的对象。勾勒出该系统最高抽象级别的类图。确定主要的相互作用对象。确定次要的支持对象。详细描述一些最有趣对象的属性和方法。对不同对象采用不同的抽象级别。寻找可以使用继承或组合的地方。寻找应该避免使用继承的地方。

面向对象分析步骤

对于即将开展的项目,进行面向对象分析的步骤如下:

  1. 明确项目需求和其中相互作用的对象
    确定项目的核心功能和各个对象之间的关系。

  2. 绘制该系统最高抽象级别的类图
    从整体角度描述系统结构,展现关键类及其关联关系。

  3. 找出主要的相互作用对象和次要的支持对象
    区分核心业务对象与辅助性对象,明确其职责。

  4. 详细阐述部分有趣对象的属性和方法
    对关键对象进行深入分析,定义其数据和行为。

  5. 对不同对象设置不同抽象级别
    根据对象的重要性与复杂度,设定合适的抽象层次。

  6. 留意可使用继承或组合之处,以及应避免使用继承的情况
    合理运用面向对象的设计原则,提升代码复用性与可维护性。

2、访问搜索引擎,查找关于统一建模语言(UML)的教程,选择适合自己学习方式的教程,然后为自己确定的对象绘制一些类图或序列图,感受UML语言,不必刻意记忆语法。

操作步骤

  1. 使用搜索引擎查找 UML 教程
  2. 根据自己确定的对象绘制类图或序列图
  3. 感受 UML 语言,无需刻意记忆语法

3、编写面向对象的 Python 代码。可以创建一些对象并为其添加属性或方法。若有 Python 项目,可将其划分为几个模块甚至包,并使用相关语法;若没有项目,启动一个新的项目,不要求完成,只需勾勒出一些基本的设计部分,不一定要完全实现所有功能,使用 print(“this method will do something”) 来确定整体设计即可。

以下是一个简单的 Python 面向对象代码示例,创建一个表示书籍的类:

class Book:
    def __init__(self, title, author):
        self.title = title
        self.author = author

    def get_info(self):
        print(f"这本书的书名是 {self.title},作者是 {self.author}")

    def update_title(self, new_title):
        print("这个方法将更新书籍的标题")
        self.title = new_title

# 创建一个 Book 对象
book = Book("Python 编程入门", "张三")

# 调用方法
book.get_info()
book.update_title("新的 Python 编程入门")
book.get_info()

这个示例创建了一个 Book 类,包含属性 title author ,以及方法 get_info update_title update_title 方法使用 print 语句来表示其功能,符合只需勾勒基本设计部分的要求。

4、如果你想不出点子,试试编写一个待办事项应用程序。它的设计与笔记本应用程序类似,但有额外的日期管理方法。这个应用程序可以记录你每天想做的事情,并允许你将它们标记为已完成。请简述编写该待办事项应用程序的好处。

  • 编写该待办事项应用程序的好处是,当想不出点子时可以作为尝试方向
  • 其设计类似笔记本应用程序但有额外日期管理方法
  • 能记录每日待办事项并标记完成
  • 方便对日常事务进行管理

5、现在,尝试设计一个更大的项目。它不必真正实现任何功能,但要确保你尝试使用包和模块导入语法。在不同的模块中添加一些函数,并尝试从其他模块和包中导入它们。使用相对导入和绝对导入。观察它们的区别,并尝试设想在哪些场景下你会希望使用它们中的每一种。

可按照以下步骤操作:

首先设计一个大项目,在项目里不同模块添加函数。

对于包和模块导入,Python 3 中有 绝对导入 相对导入 两种方式。

绝对导入

绝对导入需指定要导入的模块、函数或类的完整路径,例如要访问 products 模块里的 Product 类,可使用:

import ecommerce.products

然后通过:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值