从零开始的Python计划#7.2__类

*这章可以看到,从带有一些名词和动作的句子到一个更简单的示例到绘图,是非常容易的。可以更加清晰认识类。

类:指定特定类型对象的数据属性和方法的代码

举个例子来描述这个编码结构:饼干和饼干模具。
在这里插入图片描述
一个类就是饼干模具,它有饼干的形状,有饼干那么大,有饼干的宽度,饼干的所有特点都包含在里面,但是,它不是饼干。但是,我们可以用它做饼干。你可以理解这是一个蓝图的框架,它包含了我们创建对象所需的一切,但不是对象本身。

实例:根据类定义创建的对象

就是我们的饼干模具开始工作并制造饼干的时候,饼干模具是这个类,饼干就是那个类的实例。 用饼干的话来说,饼干模具是做饼干的,饼干是由模具实现功能创造出来的,它类似于根据蓝图建造的特定房屋。一个类可以有多个实例。 模具是独一无二的,但是饼干可以是无限的。所以我们可以从一个类创建多个实例。

面向对象设计与编程

当我们谈到面对对象编程时,我们比之前更需要从设计部分定义编程部分
面向对象设计是一个思考软件系统如何由交互对象组成的系统过程, 我们必须在对象中实现每个对象的属性和方法,并确定对象之间的连接方式。在写一行代码之前用这个设计来识别所有东西。
面向对象设计的输出是一个实现规范。
面向对象编程是将实施规范转换为工作程序的过程。

面向对象设计规范

我们使用 统一建模语言(UML), 是一种非常流行的语言,用于指定面向对象的设计。
1·它提供了不同类型的图表
2·给了我们不同的可能性:类或对象,我们可以使用UML类图来描述软件系统的类(即对象)和类之间的关系。

在UML中,类被表示为一个包含三个部分的框
在这里插入图片描述
1·第一部分显示类的名称(rectangle)
2·中间部分列表:数据属性 (在这里,必须拥有将对象定义为对象的所有数据,矩形必须有宽高的参数)
3·底部列出了该类的方法(我们所需要知道矩形的面积和周长)
属性(或方法)前面的减号(-)表示私有属性(或方法);
属性(或方法)前面的加号(+)表示公共属性(或方法)
两个类之间的简单关系(称为关联)用实线表示

在开发面对对象程序时,第一个目标是确定类。
—我们需要先确认这些对象的身份,一般来说通常涉及识别问题中的实际对象(因为编程通常帮助我们解决现实世界的问题,最好的方法是写下问题,然后看一下写的句子中哪些内容实际上是现实世界中的对象)。有一些技术可以识别对象或类:
1·首先写下问题的描述
2·识别所有的名词
3·优化列表来仅包括与问题相关的类
要找出一个类的职责,需看问题领域,一个类负责了解的事情:
1·识别这些属性有助于识别类的数据属性
2·识别这些有助于识别类的方法

举例:这是一个我们想用编程解决的问题
在这里插入图片描述
客户使用银行自动取款机检查其银行账户余额,存款,取款,转账
我们可以马上看到三个名词:customer ,bank ATM ,bank account ,我们可以知道这三个是对象,同时查看check balance,deposit funds,withdraw cash,transfer funds这四个动词可以帮助我识别我的类将拥有的方法。

面向对象设计规范(示例)

考虑建立一个银行系统:
—最明显的目标是银行账户和客户
—每个客户都应该连接到一个银行账户
—标识每个对象的属性和方法

在这里插入图片描述

可以看到有两个目标,一个银行账户和一个客户;
银行账户的属性是余额balance和用户唯一的账户号accNumber;
deposit_money是一定数量的浮点数,然后有withdraw_money,会有另一个流程。我们可以从银行账户里取一些钱,数量就会从余额中减去;
然后有个customer,有一个名字和地址的属性。它有四个方法。

发布了11 篇原创文章 · 获赞 116 · 访问量 7170

猜你喜欢

转载自blog.csdn.net/Mr_zoezhou/article/details/105586832
今日推荐