面向对象设计

1.三大编程范式

--面向过程编程

--函数式编程

--面向对象编程

2.编程进化论

--编程最开始就是无组织无结构,从简单控制流中按步写指令

--从上述的指令中提取重复的代码快或逻辑,组织到一起,便实现了代码重用,且代码由无结构走向了结构化,创建程序的过程变得更具逻辑性

--我们定义函数都是独立于函数外定义变量,然后在作为参数传递给函数,这意味着:数据与动作是分离的

--如果我们把数据和动作内嵌到一个结构里面,那么我们就有了一个‘对象系统’

3.定义

---类:把一类事物的相同的特征和动作整合到一起就是类

类是一个抽象的概念

---对象:就是基于类而创建的一个具体的事物(具体存在的)

特征和动作整合到一起

例如:

学校类:

特征:名称,地址,类型

动作:考试,招生

def school(name,address,type):
def init(name,address,type):
school = {
'name': name,
'address': address,
'type': type,
'kaoshi': kaoshi
}
return school
def kaoshi(school):
print('test') return init(name,address,type)
sl = school('qinghua','beijing','good')
print(sl)
print(sl['name']) ss = school('beida','bj','good')
print(ss['address'])
ss['kaoshi'](ss)

运行结果:

{'name': 'qinghua', 'address': 'beijing', 'type': 'good', 'kaoshi': <function school.<locals>.kaoshi at 0x7f669be32f28>}
qinghua
bj
test Process finished with exit code 0

---类与对象的关系:对象都是由类产生的

---实例化:由类生产对象的过程叫实例化

最新文章

  1. 文本框如果不输入任何内容提交过后是一个空字符串还是null
  2. P和NP问题
  3. t-sql或mssql怎么用命令行导入数据脚本
  4. 基于C#实现的HOOK键盘钩子实例代码
  5. lnmp脚本
  6. UVa 1605 (构造) Building for UN
  7. 【IE6的疯狂之七】样式中文注释后引发失效
  8. OpenCart之联系我们contact us页面提交时邮件错误
  9. Asp.Net Core Authentication Middleware And Generate Token
  10. python-桶排序
  11. C++模板之Vector与STL初探
  12. java多线程(五)-访问共享资源以及加锁机制(synchronized,lock,voliate)
  13. Cisco交换机设置备份
  14. java基础 (二)之HashMap,HashTable,ConcurrentHashMap区别
  15. Git-TortoiseGit的安装和配置
  16. Chrome浏览器端调试JavaScript
  17. idea部署tomcat-404错误
  18. Java中goto和break、continue实现区别
  19. js字母大小写字母转换
  20. JS实现复制到剪贴板(兼容FF/Chrome/Safari所有浏览器)

热门文章

  1. 2019SDN上机第4次作业
  2. arcpy显示指定表的索引属性
  3. Are query string keys case sensitive?
  4. Guided Hacking DLL Injector 3.3
  5. Socket: java Socket的isConnected()、和isClosed()判断是否在线的问题(转)
  6. Quartz Configuration Reference
  7. hive分区表新增字段,已有分区显示为null
  8. leetcode 542. 01 Matrix 、663. Walls and Gates(lintcode) 、773. Sliding Puzzle 、803. Shortest Distance from All Buildings
  9. Python脚本实现Linux/MAC中Xmind Zen去水印等其他功能的过程(V0.1)
  10. 一个Redis实例适合存储不同应用程序的数据吗?