S1.3 类和对象

前情提要:

基于类创建对象的语法:对象名 = 类名称()

问:为什么类中已经定义好了各种属性和方法,但非要创建对象才能使用呢?

答:类只是一种程序内的“设计图纸”(模板),需要基于图纸生产实体(对象),才能正常工作,这种思想,称之为: 面向对象编程

情景导入

以现实中的闹钟为例,工厂要生产一个闹钟,其图纸中要包括有:

  • 属性: 序列号、价格
  • 行为: 响铃

有了图纸之后才能批量生产这个闹钟。

我们可以用类和对象来模拟这一过程:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Clock:
    id = None
    price = None
    def ring(self):
        import winsound
        import time
        winsound.Beep(880, 500)  
        time.sleep(1)
        winsound.Beep(880, 500)  
        time.sleep(1)
        winsound.Beep(880, 500)  
        time.sleep(1)
        winsound.Beep(880, 500)  
        time.sleep(1)
        winsound.Beep(880, 500)  
        time.sleep(1)
        winsound.Beep(1800, 800)  
###################
clock1 = Clock()
clock1.id = 24678
clock1.price = '¥12.5'
clock1.ring()

clock2 = Clock()
clock2.id = 13579
clock2.price = '¥22.5'
clock2.ring()
Licensed under CC BY-NC-SA 4.0
已存在于互联网
发表了126篇文章 · 总计210.25k字
萌ICP备20267077号
Powered by ctOS