面向对象公开课_第1页
面向对象公开课_第2页
面向对象公开课_第3页
面向对象公开课_第4页
面向对象公开课_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

移动应用开发项目实战由移动应用资源库课程开发组开发北京电子科技职业学院Content目录01020304题目及要求背景知识解题思路参考程序05习题答案题目及要求设计一个类名为Human的类。该类包含以下属性:姓名、性别、年龄。编写一个speak函数用来输出“ILoveFishandAir!”实例化Human的一个对象zhangsan,male,18,打印zhangsan的姓名,并调用speak方法。设计一个student类,该类继承Human,并且增加一个新的方法sing用来输出“Icansinggreatly!”实例化该类的一个对象ls,male,20,打印他的属性,并调用speak和sing方法输出相关信息。背景知识(一) 面向对象程序设计面向对象程序设计(ObjectOrientedProgramming,OOP)主要针对大型软件设计而提出,使得软件设计更加灵活,能够很好地支持代码复用和设计复用,并且使得代码具有更好的可读性和可扩展性。面向对象程序设计的一条基本原则是计算机程序由多个能够起到子程序作用的单元或对象组合而成,这大大地降低了软件开发的难度,使得编程就像搭积木一样简单。面向对象程序设计的一个关键性观念是将数据以及对数据的操作封装在一起,组成一个相互依存、不可分割的整体,即对象。对于相同类型的对象进行分类、抽象后,得出共同的特征而形成了类,面向对象程序设计的关键就是如何合理地定义和组织这些类以及类之间的关系。背景知识(二) 类Python使用class关键字来定义类,class关键字之后是一个空格,然后是类的名字,再然后是一个冒号,最后换行并定义类的内部实现。类名的首字母一般要大写,当然也可以按照自己的习惯定义类名,但一般推荐参考惯例来命名,并在整个系统的设计和实现中保持风格一致,这一点对于团队合作尤其重要。classCar: definfor(self): print("Thisisacar")背景知识(三) 实例如果说类是一种数据结构定义类型,那么实例则声明了一个这种类型的变量。定义了类之后,可以用来实例化对象,并通过“对象名.成员”的方式来访问其中的数据成员或成员方法。>>>car=Car()>>>r()Thisisacar背景知识(四) __init__()方法__init__()方法是解释器为创建一个实例后调用的第一个方法,在开始使用它之前,可以通过它做些准备工作。它是很多类定义的特殊方法之一,其中一些方法是预定义的,缺省情况下,不进行任何操作,比如__init__(),要定制,就必须对它进行重载。背景知识

当类被调用时,实例化的第一步是创建实例对象。一旦对象创建了,Python检查是否实现了__init__()方法。默认情况下,如果没有定义(或覆盖)特殊方法__init__(),对实例不会施加任何特别的操作。任何所需的特定操作,都需要程序员实现__init__()方法,覆盖它的默认行为。如果__init__()方法没有实现,则返回它的对象,实例化过程完毕。如果__init__()方法已经被实现,那么它将被调用,实例对象作为第一个参数(self)被传递进去,像标准方法调用一样。调用类时,传进的任何参数都交给了__init__()方法。背景知识(五) 继承继承是为代码复用和设计复用而设计的,是面向对象程序设计的重要特性之一。设计一个新类时,如果可以继承一个已有的设计良好的类然后进行二次开发,无疑会大幅度减少开发工作量。在继承关系中,已有的、设计好的类称为父类或基类,新设计的类称为子类或派生类。派生类可以继承父类的公有成员,但是不能继承其私有成员。如果需要在派生类中调用基类的方法,可以使用内置函数super()或者通过“基类名.方法名()”的方式来实现这一目的。Python支持多继承,如果父类中有相同的方法名,而在子类中使用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。解题思路首先定义一个包含姓名、性别、年龄三种属性的Human类,然后构造获取姓名、性别、年龄的方法和speak方法,接着创建该类的对象并输出对象的姓名,调用speak方法输出一个字符串。然后定义Student类,它继承于Human类,然后定义sing方法,输出一个字符串,最后创建Student类的对象,并调用父类的方法和自己的方法对个人信息进行输出。参考程序参考程序习题答案zhangxiaosa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论