Python程序设计 第8章 面向对象程序设计1(第11次课).ppt

Python程序设计 第8章 面向对象程序设计1(第11次课).ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机编程导论 课程建设组编著 2014.11 第一页,编辑于星期三:四点 五十一分。 为了解决大型软件设计危机,在20世纪80年代提出了面向对象程序设计(object oriented programming, OOP)。面向对象程序设计是一种新的编程模式,这种编程模式的中心不再是程序的逻辑流程,而是软件或程序中的对象以及对象之间的关系。面向对象程序设计是针对大型软件的设计而提出的,它能使功能相对独立,能很好地做到代码重用,能使软件易于维护。 第二页,编辑于星期三:四点 五十一分。 【问题8-1】定义一个类代表三角形,类中含三条边、求周长的函数,求面积的函数。然后用这个类生成一个等边三角形,一个直角三角形,依次求其周长及面积。 程序: #Ques8_1.py 第三页,编辑于星期三:四点 五十一分。 class Triangle: def __init__(self, x, y, z): self.a=x self.b=y self.c=z def area(self): s=(self.a+self.b+self.c)/2 return (s*(s-self.a)*(s-self.b)*(s-self.c))**(1.0/2) def perimeter(self): return self.a+self.b+self.c 第四页,编辑于星期三:四点 五十一分。 #主程序 t1=Triangle(6, 6, 6) #等边三角形是t1,t1也称对象 t2=Triangle(3, 4, 5) print 等边三角形的三条边:, t1.a, t1.b, t1.c print 等边三角形的周长:, t1.perimeter() print 等边三角形的面积:, t1.area() print 直角三角形的三条边:, t2.a, t2.b, t2.c print 直角三角形的周长:, t2.perimeter() print 直角三角形的面积:,t2.area() 第五页,编辑于星期三:四点 五十一分。 程序运行结果: 等边三角形的三条边: 6 6 6 等边三角形的周长: 18 等边三角形的面积: 15.588457268119896 直角三角形的三条边: 3 4 5 直角三角形的周长: 12 直角三角形的面积: 6.0 第六页,编辑于星期三:四点 五十一分。 8.2.1 类和对象 创建类时用变量表示属性称为成员变量或成员属性,用函数表示方法称为成员函数或成员方法,成员属性和成员方法都称为类的成员。类Triangle有哪些成员变量?哪些成员方法? 1. 类和对象的区别 类是客观世界中事物的抽象,而对象是类实例化后的变量。例如,建房图纸可以建造出不同的房子,建房图纸是类,不是真实的房子,而建造出的每间房子都是对象。 第七页,编辑于星期三:四点 五十一分。 2. 类的定义 Python使用class保留字来定义类,类名的首字母一般要大写。如, class Car: def infor(self): print( This is a car ) 类的方法至少有一个参数self,self代表将来要创建的对象本身。在类的方法中访问类的实例属性时需要以self为前缀(下面将学习)。 第八页,编辑于星期三:四点 五十一分。 8.2.2 实例属性和类属性 属性有两种,一种是实例属性,另一种是类属性。实例属性是在构造函数__init__中定义的,定义时以self作为前缀;类属性是在类中方法之外定义的属性。在主程序中(在类的的外部),实例属性属于实例(对象)只能通过对象名访问;类属性属于类可通过类名访问。 在类的方法中可以调用类的其它方法,可以访问类属性、对象属性。 第九页,编辑于星期三:四点 五十一分。 【例8-1】 实例属性和类属性。 程序: #Exp8_1.py class Car: price=100000 #定义类属性 def __init__(self, c): self.color=c #定义实例属性 第十页,编辑于星期三:四点 五十一分。 #主程序 car1=Car(Red) car2=Car(Blue) print car1.color, Car.price Car.price=110000 #修改类属性 Car.name=QQ

文档评论(0)

GCG19881010 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档