个人理财 如何扩展类以在Python中创建新类 - 傻瓜

如何扩展类以在Python中创建新类 - 傻瓜

目录:

视频: 02 创建模型类 2024

视频: 02 创建模型类 2024
Anonim

正如您可能想象的那样,使用Python创建功能齐全的 生产级类 (在现实世界中使用的类应用程序实际运行在用户访问的系统上)是非常耗时的,因为真正的类执行很多任务。幸运的是,Python支持一个名为 继承的特性。 通过使用继承,您可以在创建子类时从父类获取所需的功能。

<! - 1 - >

覆盖不需要的功能,添加新的功能可以让你创建新的类,速度相对较快,而且不需要太多的工作。另外,因为父代码已经被测试过了,所以你不需要付出相当大的努力来确保你的新类能按预期工作。

构建子类

父类通常是超类的东西。例如,您可以创建一个名为Car的父类,然后在其周围创建各种类型的汽车的子类。

<! - 2 - >

在这种情况下,你建立一个名为Animal的父类,并使用它来定义一个名为Chicken的子类。当然,在有了动物之后,你可以很容易地添加其他的孩子班级,比如大猩猩班级。但是,对于这个例子,你只需构建一个父类和一个子类。

class Animal:def __init __(self,Name =“,Age = 0,Type =”):self。姓名=姓名自我。年龄=年龄自我。 Type = Type def GetName(self):return self。名称def SetName(self,Name):self。 Name = Name def GetAge(self):return self。年龄def SetAge(self,年龄):自我。年龄=年龄def GetType(self):返回自我。键入def SetType(self,Type):self。 Type = Type def __str __(self):return“{0}是一个年龄的{2}”。格式(self.name,self.type,self.agency)class Chicken(Animal):def __init __(self,Name =“,Age = 0):self.name = Name self。Age = Age self。Type =”Chicken (自我,类型):打印(“对不起,{0}将永远是一个”格式(self.name,self.type))def MakeSound(self):print(“{0} says Cluck,Cluck,Cluck!“格式(self.name))

动物类跟踪三个特征:名称,年龄和类型生产应用程序可能追踪更多特征,但是这些特征完成这个例子。该代码还包括每个特征所需的访问器。__str __()方法通过打印一个简单的消息来说明动物特征,从而完成了图片。

<! - 3 - >

从动物类中注意到。在鸡类名称后面注意使用括号中的动物。这个补充告诉Python,鸡是一种动物,它会继承动物的特征。请注意,鸡构造函数只接受名称和年龄。用户不必提供Type值,因为您已经知道这是一只鸡。这个新的构造函数覆盖了Animal构造函数。这三个属性仍然存在,但Type是直接在Chicken构造函数中提供的。有人可能会尝试一些有趣的事情,比如把她的鸡当成大猩猩。考虑到这一点,Chicken类也会覆盖SetType()设置器。如果有人试图改变鸡的类型,该用户得到的消息,而不是企图改变。通常情况下,通过使用异常来处理这类问题,但是通过使编码技术更清晰,消息对于这个例子更好。最后,Chicken类添加了一个新功能MakeSound()。每当有人想听到一只鸡的声音时,他可以调用MakeSound()至少看到它在屏幕上打印出来。

在应用程序中测试类

测试Chicken类也在某种程度上测试Animal类。有些功能是不同的,但有些类不是真正意义上的使用。动物类只是特定种类的动物(如鸡)的父母。以下步骤演示了Chicken类,以便您可以看到继承是如何工作的。

打开一个Python文件窗口。

您会看到一个编辑器,您可以在其中键入示例代码。

在窗口中输入以下代码 - 在每行之后按Enter:

  1. import Animals MyChicken = Animals。鸡(“莎莉”,2)打印(MyChicken)MyChicken。 SetAge(MyChicken.GetAge()+ 1)打印(MyChicken)MyChicken。 SetType(“大猩猩”)打印(MyChicken)MyChicken。 MakeSound()

    第一步是导入Animals模块。记住,你总是导入文件名,而不是类。动物们。在这种情况下,py文件实际上包含两个类:Animal和Chicken。

  2. 这个例子创建了一个名为Sally的鸡MyChicken,他是2岁。然后开始以各种方式与MyChicken合作。例如,Sally有一个生日,所以代码将Sally的年龄更新为1.请注意代码如何将setter()与getter(GetAge())结合使用来执行任务。每次更改后,代码将为您显示生成的对象值。最后一步是让莎莉说几句话。

    选择运行→运行模块。
    

    您会看到用于MyChicken的每个步骤。正如你所看到的,当足够多的类具有共同性时,使用继承可以极大地简化创建新类的任务,以便可以创建包含一定量代码的父类。

如何扩展类以在Python中创建新类 - 傻瓜

编辑的选择

古饮食计划:吃什么早餐 - 假人

古饮食计划:吃什么早餐 - 假人

一个发展的挑战早餐的一个古人(洞穴人)饮食膳食计划重新定义了哪些食物适合早餐的想法。谷类或鸡蛋和面包的非古式“传统”早餐不会削减它。不要试图将你的旧餐理念改造成新的古代格式,你可以尝试吃任何东西...

如何构建IOS应用程序

如何构建IOS应用程序

在Xcode中构建iOS应用程序意味着编译所有源代码代码文件在项目中。在构建和运行从模板创建的项目时,看到您所得到的结果真是令人兴奋。构建和运行应用程序相对简单;只需按照以下步骤操作:在工具栏中,选择一个方案...

编辑的选择

如何计算企业的盈亏平衡点 - 傻瓜

如何计算企业的盈亏平衡点 - 傻瓜

以下是您想知道的关于您拥有的业务或操作:您想知道公司必须达到的销售收入才能达到收支平衡。换句话说,你想知道产生零利润的销售收入数量,而不是零损失。幸运的是,无论是这种计算,还是...

如何使用QuickBooks 2014评估财务费用 - 傻瓜

如何使用QuickBooks 2014评估财务费用 - 傻瓜

您可以告诉QuickBooks在逾期时评估财务费用客户发票。为此,您首先设置财务费用计算规则。完成此操作后,您可以通过选择QuickBooks命令轻松评估逾期金额的财务费用。设置财务费用规则要设置财务费用规则,请选择...

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

如何计算QuickBook 2012中的盈亏平衡点 - 傻瓜

QuickBooks 2012允许您计算产品盈亏平衡点快速简单。盈亏平衡点显示产生零利润和零损失的销售收入。记得进行利润 - 成本 - 成本分析的公式吗?它是这样的:利润=(销售收入x毛利率百分比) - 固定成本而不是计算利润的基础上...

编辑的选择

如何更改您的计算机的用户帐户图片 - 傻瓜

如何更改您的计算机的用户帐户图片 - 傻瓜

不仅每个使用您的计算机的人都有他自己的用户帐户,但每个用户都可以添加一个图片到用户帐户。所以,如果你不喜欢与你的用户帐户相关的图片,你运气好 - 你可以改变它。无论你选择什么样的图片,它都会出现在欢迎...

:如何更改您的计算机的桌面背景 - 傻瓜

:如何更改您的计算机的桌面背景 - 傻瓜

Windows桌面为您提供灵活性使其个性化。您可以在桌面上显示您最喜欢的孙子的照片,或使用您选择的颜色作为背景。改变电脑桌面背景的可能性几乎是无止境的。您甚至可以应用桌面主题,它应用了多种颜色和...

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

为老年人:如何选择一个桌面主题为您的计算机 - 虚拟

窗口内置桌面主题,您可以应用快速更改您的计算机的桌面的外观。这些桌面主题保存了包括菜单外观,背景颜色或图案,屏幕保护程序,甚至鼠标光标和系统声音的元素集。主题保存包含菜单外观,背景颜色或图案的元素集合...