- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 #增加类属性 car1.color=Yellow #修改实例属性 print car2.color, Car.price, Car.name print car1.color, Car.price, Car.name 程序运行结果: Red 100000 Blue 110000 QQ Yellow 110000 QQ 如果属性名以双下
您可能关注的文档
最近下载
- “耐药机制研究”资料汇编.docx VIP
- 驾驶员复工复产安全生产教育.docx VIP
- 2024年公务员录用考试多省联考《申论》题(河北C卷).docx VIP
- 2024年柔性直流输电行业分析报告及未来五到十年行业发展趋势报告.docx
- 北京市第八中学2023-2024学年高二下学期期中练习数学试题.pdf VIP
- NB∕T 10278-2019 浅层地热能监测系统技术规范.pdf
- 2024年中考英语二轮复习课件 第一部分人与自我(一)丰富、充实、积极向上的生活 .pptx VIP
- 2024年初级会计职称《初级会计实务》精讲课件 第1-5章.pptx
- 二元一次方程组经典练习题+答案解析100道.docx
- 消费心理学 第2版.pptx VIP
文档评论(0)