zoukankan      html  css  js  c++  java
  • 面向对象

     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 '''
    面向对象设计
  • 相关阅读:
    Jboss部署war以及获取Resource的真实路径
    命令行获取docker远程仓库镜像列表
    Hibernate5 与 Spring Boot2 最佳性能实践
    Spring Bean的一生
    Spring中统一相同版本的api请求路径的一些思考
    Java并发工具类CountDownLatch源码中的例子
    (转载)23种设计模式的uml图表示及通俗介绍
    GeoHash核心原理解析
    如何保证服务器的安全?
    小强升职记
  • 原文地址:https://www.cnblogs.com/liuhuacai/p/11445669.html
Copyright © 2011-2022 走看看