`
木羽子川
  • 浏览: 11520 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

<与孩子一起学编程>第十四章

阅读更多
对象

1、什么是对象?具有属性和方法(能够对对象做的操作)的某个实例可以称为对象。如,一个球,属性有球的颜色,球的大小,球的重量,方法有球的运动方向;

2、属性和方法。如1中所述,属性很好理解,就是能够描述对象特征的一些变量,方法可以理解为一些代码块,这些代码块可以对对象完成一些操作,和我们平时讲的函数有些相似;

3、什么是类?对象的描述(将要让这个对象做什么实现什么功能)或蓝图称为一个类;

4、创建类的一个实例。类的定义只是写了一个框架,将有什么样的属性,将要实现什么样的功能,都是空谈,只有使用类来建立一个真正的对象,类才会发挥真正的作用,该对象就称为这个类的实例。

5、特殊方法__init__()和__str__()。只要创建该类的一个新实例,就要运行__init__()方法,该方法可以向实例的属性传递自己希望的值,完成初始化。__str__()可以按照自己的想法打印类中 的内容,

如:def __str__(self):

          msg = "Hi,I'm a "+self.size+" "+self.color+" ball!"

          return msg

6、多态。同一个方法,不同的行为。同一个函数名的方法,用在不同的类中,实现的功能不同,称为多态。

7、继承。向父类学习。父类有的属性和方法子类也同样有,子类还可以新增自身的属性和方法,提高代码的复用率。

如:class GameObject:

          def __init__(self,name):

               self.name = name

          def pickUp(self,player):

              pass

     class Coin(GameObject):#继承GameObject类

         def __init__(self,value):

              GameObject.__init__(self,"coin")#继承初始化方法并添加新的属性

              self.value = value

         def spend(self,buyer,seller):#添加新的方法

               pass

8、Python中的关键字pass可以作为一个占位符,一时半会想不起来写什么内容的时候,先占位这,这样函数方法模块不会报错


动手试一试
1、为BankAccount建立一个类定义。它应该有一些属性,包括账户名(一个字符串)、账号(一个字符串或整数)和余额(一个浮点数),
另外还要有一些方法显示余额、存钱和取钱'''

class BankAccount:
    def __init__(self,account_name,account_number):
        self.account_name = account_name
        self.account_number = account_number
        self.account_overage = 0.0
       
    def ShowOverage(self):
        print "The account balance is ",self.account_overage
       
    def Save(self,money):
        self.account_overage = self.account_overage + money
        print "You save ",money
        print "The new overage is ",self.account_overage
       
    def Withdrawal(self,money):
        if self.account_overage >= money:
            self.account_overage = self.account_overage - money
            print "You withdrawal ",money
            print "The new overage is ",self.account_overage
        else:
            print "You tried to withdrawal",money
            print "Your balance is",self.account_overage
            print "No enough funds"
           
myAccount = BankAccount("muyu", 123456)
print "Account name", myAccount.account_name
print "Account number", myAccount.account_number
myAccount.ShowOverage()

myAccount.Save(100)
myAccount.Withdrawal(20.5)
myAccount.Withdrawal(50)

2、建立一个可以挣利息的类,名为InterestAccount。这应当是BankAccount的一个子类(所以会继承BankAccount的属性和方法)。InternetAccount还
应当有一个对应利息率的属性,另外有一个方法来增加利息。为了力求简单,假设每年会调用一次addInternet()方法计算利息并更新余额'''
class BankAccount:
    def __init__(self,account_name,account_number):
        self.account_name = account_name
        self.account_number = account_number
        self.account_overage = 0.0
       
    def ShowOverage(self):
        print "The account balance is ",self.account_overage
       
    def Save(self,money):
        self.account_overage = self.account_overage + money
        print "You save ",money
        print "The new overage is ",self.account_overage
       
    def Withdrawal(self,money):
        if self.account_overage >= money:
            self.account_overage = self.account_overage - money
            print "You withdrawal ",money
            print "The new overage is ",self.account_overage
        else:
            print "You tried to withdrawal",money
            print "Your balance is",self.account_overage
            print "No enough funds"
           
class InterestAccount(BankAccount):
    def __init__(self, interest_rate):
        BankAccount.__init__(self, "muyu", 123456)#继承BankAccount类
        self.interest_rate = interest_rate
       
    def addInterest(self):
        interest = self.account_overage * self.interest_rate
        print "Your interest is",interest
        print "Your overall funds is",interest+self.account_overage
       
myAccount = InterestAccount(0.2)
myAccount.Save(100)
myAccount.Withdrawal(20.5)
myAccount.Withdrawal(50)
myAccount.addInterest()
分享到:
评论

相关推荐

    LINUX与UNIX SHELL编程指南

    登录环境&lt;br&gt;第13章 登录环境 125&lt;br&gt;13.1 /etc/profile 125&lt;br&gt;13.2 用户的$HOME.profile 128&lt;br&gt;13.3 stty用法 129&lt;br&gt;13.4 创建.logout文件 131&lt;br&gt;13.5 小结 131&lt;br&gt;第14章 环境和shell变量 132&lt;br&gt;14.1 什么是...

    C++编程思想 pdf

    14&lt;br/&gt;1.4.3 论述(treatment) 14&lt;br/&gt;1.4.4 结构化 14&lt;br/&gt;1.4.5 开发 16&lt;br/&gt;1.4.6 重写 17&lt;br/&gt;1.4.7 逻辑 17&lt;br/&gt;1.5 其他方法 17&lt;br/&gt;1.5.1 Booch 18&lt;br/&gt;1.5.2 责任驱动的设计(RDD) 19&lt;br/&gt;1.5.3 对象建模...

    c++.编程思想

    最小的方法 12&lt;br/&gt;1.4.1 前提 13&lt;br/&gt;1.4.2 高概念 14&lt;br/&gt;1.4.3 论述(treatment) 14&lt;br/&gt;1.4.4 结构化 14&lt;br/&gt;1.4.5 开发 16&lt;br/&gt;1.4.6 重写 17&lt;br/&gt;1.4.7 逻辑 17&lt;br/&gt;1.5 其他方法 17&lt;br/&gt;1.5.1 Booch 18&lt;br/&gt;...

    C++编程思想

    最小的方法 12&lt;br/&gt;1.4.1 前提 13&lt;br/&gt;1.4.2 高概念 14&lt;br/&gt;1.4.3 论述(treatment) 14&lt;br/&gt;1.4.4 结构化 14&lt;br/&gt;1.4.5 开发 16&lt;br/&gt;1.4.6 重写 17&lt;br/&gt;1.4.7 逻辑 17&lt;br/&gt;1.5 其他方法 17&lt;br/&gt;1.5.1 Booch 18&lt;br/&gt;...

    新手学linux C编程 第14章配套源码,可成功运行.rar

    在本资源中,"新手学Linux C编程 第14章配套源码,可成功运行.rar",提供的是一份针对Linux平台C语言编程的学习材料。这个压缩包包含了第14章的源代码示例,旨在帮助初学者理解并实践C语言在Linux环境下的编程技巧。...

    少儿编程C++初级基础知识点.zip

    6. **第十四章:数组** 数组是存储一组相同类型数据的容器,孩子们将学习如何声明、初始化和操作数组,以及一维和多维数组的区别。 7. **第十六章:指针** 指针是C++的一个重要特性,孩子们将学习如何声明、使用...

    JSP课后编程题答案12-16章

    ### 第14章:JSP脚本元素与自定义标签 1. **JSP脚本元素**:包括脚本声明、脚本表达式和脚本段。脚本声明可以声明变量和方法,脚本表达式用于输出Java表达式的值,脚本段可以包含复杂的Java代码。 2. **自定义标签*...

    MFC编程实例 第11章到20章

    《MFC编程实例 第11章到20章》涵盖了MFC编程的多个关键领域,这些章节深入浅出地解析了Microsoft Foundation Classes (MFC) 库在实际应用中的运用。MFC是Microsoft提供的一种C++类库,它简化了Windows API的使用,使...

    WSDL教程.doc

    - 可能包括其他元素,如`&lt;extension&gt;`和`&lt;service&gt;`,用于将多个Web服务定义组合在一起。 #### 十、WSDL应用实例 - **简化示例**: ```xml &lt;message name="getTermRequest"&gt; &lt;part name="term" type="xs:string...

    c++编程小题目

    cout &lt;&lt; "各队三个赛手对阵名单是:a-" &lt;&lt; i &lt;&lt; " b-" &lt;&lt; j &lt;&lt; " c-" &lt;&lt; k &lt;&lt; endl; } } } } ``` **知识点解析:** 1. **嵌套循环结构**: - 使用三层嵌套循环`for (i = 'x'; i &lt;= 'z'; i++)`、`for (j = 'x';...

    超爽的自学课件(java)

    &lt;br&gt;&lt;br&gt;(14) 第14章:多线程&lt;br&gt;Java提供了一套内建的机制,可提供对多个并发子任务的支持,我们称其为“线程”。这线程均在单一的程序内运行。除非机器安装了多个处理器,否则这就是多个子任务的唯一运行方式。...

    C语言第14讲源码

    在本节"C语言第14讲源码"中,我们将深入探讨C语言的关键概念和编程技巧,这非常适合那些刚开始学习C语言的初学者。C语言是一种强大的、底层的编程语言,广泛应用于系统开发、嵌入式系统、软件工程等多个领域。通过...

    C语言讲座PPT学习教案.pptx

    - 位运算直接操作二进制位,包括按位与(&),按位或(|),按位异或(^),左移(&lt;&lt;),右移(&gt;&gt;)等操作,常用于低级别编程和位操作优化。 8. **文件**(第13章): - 文件操作是C语言中处理输入输出的重要部分,包括文件...

    C语言的课件,跟C语言配套的教程课件

    四、数组与字符串(第6章) 数组是C语言中存储相同类型数据的集合,可以是一维或多维的。字符串则是以空字符'\0'结尾的字符数组。学习如何操作数组,包括初始化、遍历、以及字符串处理函数(如strlen、strcpy、...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    第14章 环境和shell变量 132 14.1 什么是shell变量 132 14.2 本地变量 132 14.2.1 显示变量 133 14.2.2 清除变量 133 14.2.3 显示所有本地shell变量 133 14.2.4 结合变量值 134 14.2.5 测试变量是否已经设置 134 ...

    清华钱能C++教程第二版第14章习题第一题

    在第14章的第一道习题中,我们可能会被要求运用到课堂上所学的面向对象编程概念来解决问题。面向对象编程(Object-Oriented Programming, OOP)是C++的核心特性之一,它通过类(Class)和对象(Object)来组织代码,...

    Linux与unix shell编程指南

    第14章 环境和shell变量 132 14.1 什么是shell变量 132 14.2 本地变量 132 14.2.1 显示变量 133 14.2.2 清除变量 133 14.2.3 显示所有本地shell变量 133 14.2.4 结合变量值 134 14.2.5 测试变量是否已经设置 134 ...

    C++编程思想 编程

    第5章 函数重载与缺省参数 69 5.1 范围分解 69 5.1.1 用返回值重载 70 5.1.2 安全类型连接 70 5.2 重载的例子 71 5.3 缺省参数 74 5.4 小结 81 5.5 练习 82 第6章 输入输出流介绍 83 6.1 为什么要用输入输出流 83 ...

    C++编程思想.pdf

    第5章 函数重载与缺省参数 69 5.1 范围分解 69 5.1.1 用返回值重载 70 5.1.2 安全类型连接 70 5.2 重载的例子 71 5.3 缺省参数 74 5.4 小结 81 5.5 练习 82 第6章 输入输出流介绍 83 6.1 为什么要用输入输出流 83 ...

Global site tag (gtag.js) - Google Analytics