一、面向对象1、什么是面向对象 面向对象是一种编程思想,是前辈们总结出的经验,指导程序员如何编写出更好的程序 , 核心是对象,程序就是一系列对象的集合, 程序员负责调度控制这些对象来交互着完成任务。 2、几个案例案例1:把大象装进冰箱 ? 面向过程: 1.打开冰箱 2.装入大象 3.关闭冰箱 面向对象: 找个具备装大象的技能的对象 总结:在面向对象中程序员的角度发生改变,从具体的操作者变成了指挥者强调:对象不是凭空产生的,需要我们自己设计案例2::西天取经 如来有一堆破书要传出去,他没有自己干,而是找了五个对象帮他去干 如来只要负责控制调度的对象即可 如果某个对象发生变化,也不会影响其他的对象 , 扩展性案例3::曹操吟诗,命手下将所作之诗刻于木板之上 第一天:喝酒吃肉,人生真爽 第二天:喝酒吃肉,人生几何 第三天:对酒当歌,人生几何 3、面向对象的三大优点 1.扩展性 2.灵活性 3.重用性 缺点: 1.程序的复杂度提高了 2.无法准确预知结果 4、使用场景对扩展性要求较高的程序 ,通常是直接面向 用户的,例如:qq,微信 二、面向过程编程思想1、关注的核心是过程 过程就是一步一步的执行步骤,既先干啥在干啥 2、优缺点优点:逻辑清晰 , 复杂问题简单化,流程化 缺点: 扩展性差,可维护性差 3、使用场景对扩展性要求较低的程序例如:系统内核,git,计算器 记住:不是所有程序都要面向对象,得分析具体需求三、类和对象(这是OOP中的最核心的两个概念)1、类既类型,类别 ,是一种抽象概念 是一系列具备相同特征和相同行为的对象的集合 2、对象就是具体存在的某个事物,具备自己的特征和行为 对象就是特征和技能的结合体 3、类和对象的关系类包含一系列对象 对象属于某个类 在生活中是先有对象再有类 而在程序中是先有类才能有对象,我们必须先告诉计算机这类的对象有什么特征有什么行为 总结出一个结论:在使用面向对象编程时,第一步就是思考需要什么样的对象,对象具备什么样的特征和行为,从而根据这些信息总结出需要的类型4、创建类和对象定义类的语法
创建对象的语法:
属性的写法:
属性的增删改查
5、init方法叫做初始化方法,本质上就是一个函数 特点1: 当实例化对象时,会自动执行init方法 特点2:会自动将对象作为第一个参数传入,参数名称位self ,self可以是别的名字,但不建议改 功能:用户给对象赋初始值 练习:创建一个类具备几个属性,通过初始化方法来给他设置属性
对象的精髓就是将数据和处理数据的函数整合到一起 ,这样一来拿到一个对象就同时拿到了需要处理的数据以及处理数据的函数6、对象的绑定方法默认情况下类中的方法都是对象绑定方法 其特殊之处在于, 当使用对象调用该函数时会自动传入对象本身,作为第一个参数 当使用类名来调用时他就是一个普通函数,有几个参数就得传几个参数 练习:写一个学生类,具备一个打招呼的技能 要能输出自己的名字信息
7、类绑定方法类绑定方法用@classmethod来装饰 特殊之处:不管用类还是对象调用,都会自动传入类本身,作为第一个参数 什么时候绑定给对象:当函数逻辑需要访问对象中的数据时什么时候绑定给类:当函数逻辑需要访问类中的数据时8、非绑定方法或叫做静态方法,就是即不需访问类的数据,.也不需要访问对象的数据 语法:@staticmethod 不常用 |
|