zoukankan      html  css  js  c++  java
  • 09-python的面向对象

    # 1. 面向对象概述(ObjectOriented,OO)

    - OOP思想
      - 接触到任意一个任务,首先想到的是任务这个世界的构成,是由模型构成的

    - 几个名词
      - OO:面向对象
      - OOA:面向对象的分析
      - OOD:面向对象的设计
      - OOI:xxx的实现
      - OOP:xxx的编程
      - OOA->OOD->OOI: 面向对象的实现过程

    - 类和对象的概念
      - 类:抽象名词,代表一个集合,共性的事物
      - 对象:具象的事物,单个个体
      - 类跟对象的关系
        - 一个具象,代表一类事物的某一个个体
        - 一个是抽象,代表的是一大类事物

    - 类中的内容,应该具有两个内容
      - 表明事物的特征,叫做属性(变量)
      - 表明事物功能或动作, 称为成员方法(函数)

    # 2. 类的基本实现

    - 类的命名
      - 遵守变量命名的规范
      - 大驼峰(由一个或者多个单词构成,每个单词首字母大写,单词跟单词直接相连)
      - 尽量避开跟系统命名相似的命名

    - 你如何声明一个类
      - 必须用class关键字
      - 类由属性和方法构成,其他不允许出现
      - 成员属性定义可以直接使用变量赋值,如果没有纸,许使用None

    - 实例化类
      变量 = 类名() #实例化了一个对象

    - 访问对象成员
      - 使用点操作符
        obj.成员属性名称
        obj.成员方法

    - 可以通过默认内置变量检查类和对象的所有成员
      - 对象所有成员检查
        # dict前后各有两个下划线
        obj.__dict__
      - 类所有的成员
        # dict前后各有两个下划线
        class_name.__dict__

    # 3. 类和对象的成员分析


    - 类和对象都可以存储成员,成员可以归类所有,也可以归对象所有
    - 类存储成员时使用的是与类关联的一个对象
    - 独享存储成员是是存储在当前对象中
    - 对象访问一个成员时,如果对象中没有该成员,尝试访问类中的同名成员,
      如果对象中有此成员,一定使用对象中的成员
    - 创建对象的时候,类中的成员不会放入对象当中,而是得到一个空对象,没有成员
    - 通过对象对类中成员重新赋值或者通过对象添加成员时,对应成员会保存在对象中,而不会修改类成员

    # 4. 关于self


    - self在对象的方法中表示当前对象本身,如果通过对象调用一个方法,那么该对象会自动传入到当前方法
    的第一个参数中
    - self并不是关键字,只是一个用于接受对象的普通参数,理论上可以用任何一个普通变量名代替
    - 方法中有self形参的方法成为非绑定类的方法,可以通过对象访问, 没有self的是绑定类的方法,
    只能通过类访问
    - 使用类访问绑定类的方法时, 如果类方法中需要访问当前类的成员,可以通过 __class__成员名来访问

  • 相关阅读:
    【Javascript】javascript学习 二十二 JavaScript 对象简介
    【Javascript】javascript学习 二十六 JavaScript Boolean(逻辑)对象
    【Javascript】javascript学习 二十九 JavaScript HTML DOM 对象
    【Javascript】javascript学习 二十八 JavaScript RegExp 对象
    【Javascript】javascript学习 二十一 JavaScript 指导方针
    【Javascript】javascript学习 二十三 JavaScript 字符串(String)对象
    【Javascript】javascript学习 三十 JavaScript 浏览器检测
    【Javascript】javascript学习 二十五 JavaScript Array(数组)对象
    【Javascript】javascript学习 二十四 JavaScript Date(日期)对象
    【Javascript】javascript学习 二十七 JavaScript Math(算数)对象
  • 原文地址:https://www.cnblogs.com/zifeng001/p/10824785.html
Copyright © 2011-2022 走看看