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

    一,面向对象和面向过程(重点理解)

      面向过程:一切以事物的流程为中心,核心是过程二字,过程是指解决问题的步骤,即先干什么,后干什么,基于该思想编写程序就好比在编写一套流水线,是一种机械式的编程思维。优点:流程化,编写相对简单;缺点:可扩展性差

      面向对象:具有相同属性和动作的结合体叫对象,面向对象思维,要自己建立对象,自己建立场景,你就是面向对象世界中的上帝。优点:可扩展性强 ;缺点:编程的复杂度高于面向过程

    二,面向对象的三大特征:封装,继承,多态

      封装:把很多数据封装到一个对象中,把固定功能的代码封装到一个代码块,函数,对象,打包成模块,这都属于封装的思想。

      继承:子类可以自动拥有父类中除了私有属性外的其他所有内容

      多态:同一个对象,多种形态

    三,类的成员

      变量(实例变量,类变量)

      方法(实例方法,@staticmethod静态方法,@classmethod类方法)

      

      属性@property:其实就是通过方法改造过来的一种变量的写法

      

       私有变量:在python中使用__作为方法或变量的前缀,那么这个方法或变量就是私有的

      

      私有方法

     

      特殊成员:带双划线的就是特殊的成员

      

      

    四,类与类之间的关系

      依赖关系:在方法中给方法传递一个对象,此时类与类之间的关系是最轻的

      

      关联关系(组合,聚合):把对象传在_init_()中

      

      一对多的关联关系

      

    五,isinstance,type,issubclass

      

      type()是查看对象是什么类型的

       

      

      isinstance

      

    六,区别函数与方法

      

    七,反射

      hasatter(对象,字符串n):判断在对象中是否有n这个属性或功能

      getatter(对象,字符串n):从对象中获得你这种功能的变量名

      setatter(对象,字符串n,值):先从对象查找你这个功能,若有,用值的功能覆盖他,若没有,创建你这种功能,用的是值的功能

      delatter(对象,字符串n):从对象中删除n这种功能

      

      

      

  • 相关阅读:
    lazyload【思路】
    图片旋转
    模拟滚动条【大体功能实现】
    Firefox window.close()的使用注意事项
    修改KindEditor的CSS文件
    ownerDocument property
    网易新闻图片展示效果
    关于td不支持position问题
    strcat strncat
    Tcl_FindExecutable
  • 原文地址:https://www.cnblogs.com/12345huangchun/p/9937437.html
Copyright © 2011-2022 走看看