面向对象

 1 ##总结面向对象设计
 2 ###
 3 '''
 4 1.简单控制流代码归类
 5 2.定义函数实现代码的重用且更结构化,但是数据和动作分离
 6 3.把数据和动作内嵌带一个结构(函数或类)里面,形成'对象系统'
 7 
 8 过程简述:
 9 1.定义功能函数,把数据字典作为传入参数,通过字典关键词取字典数据
10 2.定义字典:数据+功能函数
11 3.定义函数,内嵌字典
12 4.定义函数内嵌功能函数和字典函数,并且返回字典
13 5.调用:调用返回的字典关键词,并且传入字典参数进行调用
14 
15 # '''
16 def struct_object(name1,name2,name3):
17     def base_style(fuct_dic):
18         print('[%s]重复,庞大死板;无结构不系统'%fuct_dic['name1'])
19     def function_1(fuct_dic):
20         print('[%s]实现代码重复使用,更灵活;但是数据和动作分离'%fuct_dic['name2'])
21     def object_1(fuct_dic):
22         print('[%s]把数据和动作归类,更结构化'%fuct_dic['name3'])
23     def init(name1,name2,name3):  ###相当于初始化变量值
24         fuct_dic = {
25             'name1':name1,
26             'name2': name2,
27             'name3': name3,
28             'base_style':base_style,
29             'function_1':function_1,
30             'object_1':object_1
31         }
32         return fuct_dic
33     res = init(name1,name2,name3)
34     return res
35 option1 = struct_object('简单代码','函数','面向对象')
36 print(option1)
37 option1['base_style'](option1)
38 option1['function_1'](option1)
39 option1['object_1'](option1)
40 '''
41 [简单代码]重复,庞大死板;无结构不系统
42 [函数]实现代码重复使用,更灵活;但是数据和动作分离
43 [面向对象]把数据和动作归类,更结构化
44 '''
面向对象设计
 1 ##面向对象编程
 2 '''
 3 1.与面向对象相比,由关键词调用变成用'.'替代;用class进行定义
 4 2.self相当于位置参数,用__init__(self,name,gender,type)定义数据参数
 5 3.功能函数在之后一次定义
 6 '''
 7 class Person:
 8     def __init__(self,name,gender,type):
 9         self.name = name
10         self.gender = gender
11         self.type = type
12     def studying(self):
13         print('一个名字为[%s]的[%s],正在学习python'%(self.name,self.type))
14     def shuaiqi(self):
15         print('这位[%s],温文尔雅,阳光帅气'%self.gender)
16     def postgraduat(self):
17         print('这位[%s]名叫[%s],是一名[%s]'%(self.gender,self.name,self.type))
18 person1 = Person('liuhua','男士','研究生') ###是个内存地址,加()调用
19 person1.studying()
20 person1.shuaiqi()
21 person1.postgraduat()
22 person2 = Person('alex','女士','博士')
23 person2.studying()
24 person2.shuaiqi()
25 person2.postgraduat()
26 '''
27 一个名字为[liuhua]的[研究生],正在学习python
28 这位[男士],温文尔雅,阳光帅气
29 这位[男士]名叫[liuhua],是一名[研究生]
30 一个名字为[alex]的[博士],正在学习python
31 这位[女士],温文尔雅,阳光帅气
32 这位[女士]名叫[alex],是一名[博士]
33 '''
面向对象设计

 

posted @ 2019-09-02 11:45  无聊就看书  阅读(178)  评论(0编辑  收藏  举报