三大编程范式(方法论):面向过程编程、函数式编程、面向对象编程。
类与对象
类:把一类事物的相同的特征和动作整合到一起就是类,是抽象的概念。
对象:基于类而创建的一个具体的事物,也是特征和动作整合到一起。
面向对象设计OOD:将一类具体事物的数据和动作整合到一起,即面向对象设计。
面向对象编程OOP:用定义类+实例/对象的方式去实现面向对象的设计。
(实例化,返回一个字典)
面向对象设计的例子:
1 def dog(name,gender,type): #dog类
2 # 狗的动作
3 def jiao(dog):
4 print('一条狗[%s],汪汪汪' % dog['name'])
5 def chi_shi(dog):
6 print('一条[%s] 正在吃屎' % dog['type'])
7 def init(name,gender,type):
8 dog1 = {
9 'name':name,
10 'gender': gender,
11 'type': type,
12 'jiao':jiao,
13 'chi_shi':chi_shi,
14 }
15 return dog1
16 return init(name,gender,type)
17
18 d1=dog('元昊','母','中华田园犬') #对象
19 d2=dog('alex','母','藏敖')
20 print(d1)
21 print(d2)
22 d1['jiao'](d1)
23 d2['chi_shi'](d2)
输出
{'name': '元昊', 'gender': '母', 'type': '中华田园犬', 'jiao': <function dog.<locals>.jiao at 0x000001C7F176B598>, 'chi_shi': <function dog.<locals>.chi_shi at 0x000001C7F17889D8>}
{'name': 'alex', 'gender': '母', 'type': '藏敖', 'jiao': <function dog.<locals>.jiao at 0x000001C7F1788A60>, 'chi_shi': <function dog.<locals>.chi_shi at 0x000001C7F1788AE8>}
一条狗[元昊],汪汪汪
一条[藏敖] 正在吃屎
用面向对象语言写程序和一个程序的设计是面向对象,两者是不相干的事情。