三大编程范式(方法论):面向过程编程、函数式编程、面向对象编程。
类与对象
类:把一类事物的相同的特征和动作整合到一起就是类,是抽象的概念。
对象:基于类而创建的一个具体的事物,也是特征和动作整合到一起。
面向对象设计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>}
一条狗[元昊],汪汪汪
一条[藏敖] 正在吃屎
用面向对象语言写程序和一个程序的设计是面向对象,两者是不相干的事情。