第二十二章 面向对象
1、面向对象
1.面向过程的编程思想:
关注的点就是完成任务的过程
第一步
第二步
一步一步按照固定顺序来完成任务
是一种机械化的思维,就像一条流水线,指定流水线只能生产固定的产品
1. 缺点:
牵一发而动全身,扩展性非常低,可维护性差
2. 优点:
将复杂的事情,简单化,并流程化
应用场景:
对扩展要求低的程序
系统内核,shell脚本,计算器
2.面向对象
是一种编程思想
面向:朝着,向着
对象是什么:
面向对象关注点是对象,把你的思维角度从具体操作,变成一个指挥者 例如把大象装进冰箱
1.打开冰箱
2.塞入大象
3.关闭冰箱
以上就是典型面向过程思想
换成面向对象
找一个具备装大象这个技能的对象, 然后命令它装大象
注意:对象不是凭空产生的,需要我们自己先设计对象,然后再使用对象
面向对象的优点:
__ 不需要再关注具体的实现细节,可以更好的关注业务逻辑,扩展性提高了,维护性高了,复用性高了
面向对象的缺点:
__ 对比面向过程而言,程序需要先设计,结构更复杂,编程复杂度提高了,无法准确预知执行结果
应用场景:对于扩展性要求比较高的应用程序。例如:qq,微信等.
面向对象是一种编程思想,让你不需要关心具体实现细节,而是关注对象
什么是对象?
万事万物都是对象
对象:具备某种特征与行为的结合体并且是具体存在的称之为对象
例如:某个人
类:某些具备相同特征和相同行为的集合体,是一中抽象概念,
类型==类
特征==属性
行为==技能
对象和类的关系
在生活中 先有对象 再有类
在代码中 必须先有类 才能产生对象(因为你需要提前告诉计算机这个对象是什么样的有什么技能)
3.类的使用:
使用 Class 关键字来定义一个类
类的名称为大驼峰命名法
所有单词首字母大写
小驼峰 第一个单词首字母小写
例:
class Student:
school='oldboy'
def say_hi(self):
print('hello Iam tiger')
print('test')
pass
print(Student.say_hi)
Student.say_hi()
print(Student.school)