zoukankan      html  css  js  c++  java
  • day22面向对象

    面向对象编程:
    1.什么是面向对象
    面向过程(编程思想):
    过程,解决问题的步骤,流程即第一步做什么,第二步做什么
    将复杂问题,拆成若干小问题,按照步骤一一解决,将复杂问题流程化(为其制定固定的实现流程)简单化

    面向过程编程优缺点:
    优点:复杂问题简单化
    缺点:由于其实现流程固定,一旦中间某一流程发生了修改,将导致整体都需要修改,
    牵一发动全身,扩展性差,维护性差
    例如工厂里的流水线,第一个步骤未完成,第二个步骤做不了
    使用场景:
    对扩展性要求较低,比如说操作系统内核,脚本程序(运维工程师写的程序,其目的就是安装一堆软件),apache HTTP 开源软件公司
    当我们要开发的程序,需要高扩展性时,就不能再使用该方式了,比如说QQ,经常会增加新功能

    面向对象(编程思想):
    OOP,面向对象的缩写 object,oriented programming编程
    将程序看做是一堆对象的集合,实现功能的方式就是对象之间的交互
    什么是对象(实际存在)
    一切皆对象
    对象具备某些特征与技能的结合体
    什么是类(抽象概念)

    类型,类别,
    是根据一些具备相同特征和技能的对象抽取得到的,比如说人类
    类和对象之间的关系
    类包含一系列相同特征和技能的对象
    对象属于某个类的实例
    在生活中是先有对象再根据对象的特征和技能,得到一个类
    在程序中,先定义类,后创建对象
    要先确定对象具备什么特征和行为才能产生对象

    2.为什么要使用面向对象
    优点,解决了程序的扩展性,各个对象之间的耦合度低,维护性高
    缺点:面向对象的复杂度比面向过程稿, 无法预知执行结果

    应用场景:需要经常变化的软件(直接与用户交互的程序)
    对于不需要扩展的程序而言,使用面向对象反而增加了难度

    3.面向对象与面向过程的区别

    4.类与对象
    类名,大驼峰
    类中用变量来描述特征,用函数表示技能
    通过调用类,得到对象,实例化
    obj = Person()

    每个对象的内存地址是不同的,在创建对象是,计算机会申请一个新的内存地址,并向对象中的内容存进去
    存放属性的位置有两个,一个是类中,还有一个是对象中
    当每个对象的某个特征都相同时放到类中
    当每个对象的特征都不同时放到对象中
    如果对象中存在这个属性,优先访问对象中的属性
    查找顺序为,对象 》》类
    当创建类的时候,会产生一个类的名称空间,存放类中的名称和值的内存地址的绑订关系
    当创建对象的时候,会产生对象的名称空间,存放对象中的名称 和 值的内存地址的绑订关系

    定义一个空类,类中也存在一些自带的属性,是从父类得到的

    __dict__可以获取一个对象中包含的内容
    
    

    初始化函数:

    __开头__结尾的函数,是内置函数,在满足某种条件时会自动触发
    __init__会在调用类时自动执行
    self 表示要进行初始化的对象,系统会自动传值
    用于初始化对象,它会在创建对象时,自动执行,并传入调用类时传递的参数,第一个参数表示要初始化的对象本身
    
    

    绑定方法:
    绑定到对象的方法,绑定到类的方法(classmethod),非绑定方法(静态方法staticmethod)
    绑定给对象的方法,对象来调用时,自动将对象当做第一个参数传给方法
    类来调用时,当做调用普通函数,该传几个值就传几个值
    绑定到类的方法,类和对象调用方式一样,类来调用时会将类自动传给方法的第一个参数
    非绑定方法,即不绑定给类也不绑定给对象,谁都可以调用

  • 相关阅读:
    以太坊投票智能合约案例
    以太坊公开拍卖智能合约案例
    智能合约入门
    [elk]es增删改查最佳实战
    [elk]es增删改查最佳实战
    [elk]es增删改查最佳实战
    使nfs同步生效
    mysql建立ssl安全连接的配置
    mysql建立ssl安全连接的配置
    mysql建立ssl安全连接的配置
  • 原文地址:https://www.cnblogs.com/robert-zhou/p/10117462.html
Copyright © 2011-2022 走看看