zoukankan      html  css  js  c++  java
  • 面向对象基础-初步介绍

    面向对象中的基础介绍:

    一:在面向对象的方法中:一切事物皆对象,只要是对象就会分类别;只要是对象就会有属性。

    二:面向对象的三个属性:封装、继承、多态;

    封装含义:把一些功能的实现细节不对外暴露;

    继承含义:一段代码,重复使用(代码重用);

    多态含义:一种接口,多种实现(接口重用);

    三:新式类与经典类的区别:多继承上的顺序问题,

    查询策略:

    广度优先:先查找横向策略再去查纵向(新式类的查询策略);

    深度优先:顺序查询(经典类的查询策略);

    py2的经典类是按照深度优先来继承的,新式类是按广度优先来继承的;

    py3的经典类和新式类都是统一按照广度优先来继承的;

    四:构造函数:在实例化时做类的初始化的工作

    五:析构函数:一般用于收尾工作,如关闭临时文件和关闭数据库文件;

    六:静态方法:只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性;

    七:类方法:只能访问类变量,不能访问实例变量;

    类变量的用途:大家共用的属性,类变量的作用:节省内存;

    八:反射:

    反射方法:
    hasattr(obj,name_str)方法,判断一个对象obj程序中是否有对应的字符串,验证程序中是否具有这个字符串
    getattr(obj,name_str)方法,根据字符串去获取obj对象里的对应的方法的内存地址
    上述方法常在一起连用
    setattr(obj,'y',z)方法,is equivalent to ``x.y = v''
    delattr()方法,根据字符串去删除obj对象里的对应的方法的内存地址
    上述方法常在一起连用
  • 相关阅读:
    重置mysql数据库密码
    windows下IIS+PHP解决大文件上传500错问题
    ecmobile中IOS版本中界面文字不显示的解决
    linux下重置mysql的root密码
    nginx下rewrite参数超过9个的解决方法
    android模拟器停在Waiting for HOME解决方案
    android模拟器没法通过localhost访问本地服务器的解决
    zend studio导入svn项目后不能代码提示的解决
    排序(1)

  • 原文地址:https://www.cnblogs.com/lindong0602/p/9833225.html
Copyright © 2011-2022 走看看