二、面向对象手机案例#

1. 需求#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
需求:
    手机电量默认是100
    打游戏每次消耗电量10
    听歌每次消耗电量5
    打电话每次消耗电量4
    接电话每次消耗电量3
    充电可以为手机补充电量
要求:
    定义手机类
    定义手机类的属性和行为
    创建手机对象,访问属性和行为

2. 分析#

1
2
3
4
5
6
7
8
分析:
1.定义类手机类  MobilePhone
2.类具备属性 battery :100
3.定义方法playGame battery -= 10
4.listenMusic battery -= 5
5.call battery -= 4
6.receive  battery -= 3
7.charge   battery += 10

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
class MobilePhone:
    def __init__(self,name):
        self.name = name
        self.battery = 5

    def __str__(self):
        return 'name:{},battery:{}'.format(self.name,self.battery)

    def playGame(self):
        '''
        打游戏
        :return:
        '''
        # 电量是否满足打游戏的条件
        if self.battery>=10:
            print('打游戏')
            # 消耗10个电量
            self.battery -= 10
        else:
            print('不能打游戏')

    def listenMusic(self):
        '''
        听歌
        :return:
        '''
        if self.battery >= 5:
            print('听歌')
            # 消耗10个电量
            self.battery -= 5
        else:
            print('不能打听歌')

    def call(self):
        '''
        打电话
        :return:
        '''
        if self.battery >= 4:
            print('打电话')
            # 消耗10个电量
            self.battery -= 4
        else:
            print('不能打打电话')

    def receiveCall(self):
        '''
        接电话
        :return:
        '''
        if self.battery >= 3:
            print('接电话')
            # 消耗10个电量
            self.battery -= 3
        else:
            print('不能接电话')

    def charge(self):
        '''
        充电
        :return:
        '''
        print('充电')
        self.battery += 10


# 定义手机对象
phone = MobilePhone('苹果手机')

phone.playGame()
phone.listenMusic()
phone.charge()
print(phone)