zoukankan      html  css  js  c++  java
  • 老男孩全栈PYTHON -DAY8-面向妹子(对象)编程

    面向对象:对函数进行封装和分类,让开发“更好,更快,更强

    使用面向对象编程解决的问题都可以使用面向函数式编程解决,但是在某种特定情况下,面向对象编程要比面向函数式编程更方便,代码更简洁。就好比 递归和while循环一样,递归的逻辑思路要比while循环强

    提高代码水平: 将产品需求分成模块,使用模块变成,将功能相同的函数封装一个类中,增加程序可扩展性

    下面是面向对象的逻辑图

    1、一切事物都是对象:面向对象(妹子)其实就是对”类和对象“的使用

    类可以看作一个模块,里面封装很多的方法(函数),可以实现很多的功能

    对象是基于类的,可以调用类中很多功能

    对象可以调用类中全部的功能吗? 不,有些功能仅使用于类中调用,好处是:调用该功能时,不需要创建对象呦

    通过类调用 功能有: 静态字段、静态方法、类方法

    通过对象调用的功能有: 普通方法(特殊属性)、普通字段

    内存的保存位置:

    类:静态字段  (通过类调用)

    对象:普通字段 通过(对象调用)

    静态字段什么时候使用?

    当需要创建对各对象,多个对象中需要使用相同的字段时,可以使用静态字段。(对象只是引用类的字段,并并没有创建)。

    我们通过对象调用,可以修改类中的字段吗?

    普通方法:

    由对象调用:至少使用一个self参数:执行普通参数是,自动将调用方法的对象赋值给self

    类方法:

    有类进行调用:至少一个cls 参数,执行类方法时,自动将调用该方法的类赋值给cls

    静态方法:

    有类调用,没有默认参数

    既然静态字段和静态方法都是类调用,他们的使用场景是什么样的呢?

    其特点:通过类调用,都存储在类中,那就不需要创建对象 。

    当所有的对象多需要(使用相同功能的结合)处理某个需求时,我们就可以一个类(有静态字段+静态方法)实现这个需求,这种情景我们统称单例模式

    单利模式

    使用情景:有N个人需要去对数据库进行修改的的操作, 修改数据(必须要连接数据库)

    如果有100个都需要修改数据库,那么普通方法的解决思路是 100个人需要建立100次链接,来修改数据

    解决思路:我们建立一个数据库连接池,第一个人连接时,去访问数据库连接池,第二个人访问时,去访问数据连接池。

     属性(也成为特性)

    定义时,在普通方法的基础上添加@property 的装饰器

    定义时,属性仅有一个self

    调用时可以去掉括号

    属性也是普通方法,只是书写的格式不一样,应用时和普通方法一个叼样

    类的成员修饰符号

    详情请见

    http://www.cnblogs.com/wupeiqi/articles/5017742.html

    http://www.cnblogs.com/wupeiqi/p/4766801.html

  • 相关阅读:
    关于Mac网络偏好设置的一些坑
    NOI2018网络同步赛爆零记
    【搞事情】英文文档单词对比&自动翻译
    函数
    文件处理的详细介绍
    字符编码+文件处理
    元组类型+字典类型+集合类型的详细讲解
    可变不可变类型+数字类型、字符串类型、列表类型的内置方法
    流程控制之if判断,while循环,for循环
    变量剩余补充+基本数据类型+输入输出+基本运算符
  • 原文地址:https://www.cnblogs.com/05-xiaoyi/p/5624870.html
Copyright © 2011-2022 走看看