码迷,mamicode.com
首页 > 其他好文 > 详细

第六周练习 part2 --- 继承

时间:2018-05-19 11:08:35      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:make   父类   好处   mon   初始   name   running   一个人   eth   

 1 # class People:  # 经典类
 2 class People(object):  # 新式类, super 也是新式类的写法
 3     def __init__(self,name,age):
 4         self.name = name
 5         self.age = age
 6         self.friends = []
 7         print("class People下的__init__ is running.")
 8 
 9     def eat(self):
10         print("%s is eating..." % self.name)
11 
12     def talk(self):
13         print("%s is talking..." % self.name)
14 
15     def sleep(self):
16         print("%s is sleeping..." % self.name)
17 
18 
19 class Relation(object):
20     def __init__(self, name):
21         self.name = name
22         print(self.name)
23 
24     def make_friends(self, somebody):
25         print(%s is making friends with %s. % (self.name, somebody.name))
26         self.friends.append(somebody)  # 将这个人的地址存在 People 下的 friends 里,真正建立起联系
27 
28 
29 # class Man(Relation, People):  # 调用父类是只走第一个位置的类的,Relation 里的__init__参数不对,那就会报错
30 class Man(People, Relation):
31     def __init__(self, name, age, money):
32 
33         # People.__init__(self, name, age)  # 继承自 People. or...
34         super(Man, self).__init__(name, age)  # 与上句作用相同
35 
36         self.money = money
37         print(class Man 下的 __init__ is running.)
38 
39     def piao(self):
40         print("%s is piaoing ..... 20s later....done." % self.name)
41 
42     # Overrides the sleep method in Class People
43     def sleep(self):
44         People.sleep(self)  # 调用重构前的功能
45         print("man is sleeping ")  # 添加新功能
46 
47 
48 class Woman(People, Relation):
49     def __init__(self, name, age, weight):
50         super(Woman, self).__init__(name, age)
51         print(class Woman 下的 __init__ is running.)
52 
53     def eat(self):
54         print(%s is eating. % self.name)
55 
56 t = Man(Tony, 23, 22334)  # 此步叫初始化,会将参数传给相应类中的__init__()并运行
57 p = Woman(Sara, 23, 37822)
58 # t.sleep()
59 t.make_friends(p)
60 print(t.friends[0].name)  # 存地址而不直接存名字,好处是即使改了名字,也仍能指到同一个人

 

第六周练习 part2 --- 继承

标签:make   父类   好处   mon   初始   name   running   一个人   eth   

原文地址:https://www.cnblogs.com/lief/p/9059637.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!