zoukankan      html  css  js  c++  java
  • 面向对象编程知识点

     特性
     class
     object

     封装
     继承
     多态

     语法

     调用函数  --》 执行 --》返回结果

     r1 = Role.__init__() return x342423

     r1 = Role(r1,"A","Police","15000")
     r1.name = "A"
     r1.role = "Poice"
     r1.money = 15000
     r1.buy_gun()  Role.buy_gun(r1)



     属性
     方法
     类变量的用途? 大家共用的属性 ,节省开销
     class Person:
         cn = "中国"
         def __init__(self,name,age,addr,cn="china")
             self.name = name
             self.cn = cn
     p1 = Person(name,age ,addr)
     
     构造函数

    析构函数: 在实例释放、销毁的时候自动执行的,通常用于做一些收尾工作, 如关闭一些数据库连接,关闭打开的临时文件

     私有方法,私有属性

     类变量
     实例变量


     封装

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

    多态
    一种接口,多种实现


        属性
            实例变量
            类变量
            私有属性__var
        方法
           构造方法,
           析构函数
           私有方法

    对象:实例化一个类之后得到的对象


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

    继承
        继承 ,组合

        代码的重用
        单继承
        多继承,
            2.7 经典类,深度优先,  新式类,广度优先
            3.x 均是广度优先
            class Foo(object):
                def __init__(self,name,age,sex,salary,course):

                    self.salary = salary
                    self.course = course



    多态
        接口重用, 一种接口,多种实现

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

    属性方法
        把一个方法变成一个静态属性


    反射
        hasattr(obj,name_str) , 判断一个对象obj里是否有对应的name_str字符串的方法
        getattr(obj,name_str), 根据字符串去获取obj对象里的对应的方法的内存地址
        setattr(obj,'y',z), is equivalent to ``x.y = v''
        delattr

    异常
        try :
            code
        except (Error1,Erro2) as e:
            print e

        except Exception :抓住所有错误,不建议用

  • 相关阅读:
    DOCTYPE声明
    JS获取对象宽度和高度
    在Flash中巧妙替换字体
    web.config 配置兼容 IIS7 II6
    防刷新重复提交/防后退方法
    iframe自适应,跨域,JS的document.domain
    JS动态创建Table IE不显示Fix
    C#简繁转换
    用TransactSQL 命令压缩数据库
    JS内置对象[转载]
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/9886401.html
Copyright © 2011-2022 走看看