zoukankan      html  css  js  c++  java
  • 面向对象基础知识二、对象的创建和销毁

    二、对象的创建和销毁

    2.1 对象的创建

    2.1.1 new关键字

    类名 变量名=new 类名();

    2.1.2 对象注入

    • 构造函数注入
      类A需要使用类B,类A内部用一个私有字段保存外部注入的B对象的引用。
      image
    • 基于接口的对象注入
    1. 定义接口
      image
    2. 定义实现接口的类
      image
    3. 定义需要调用的类并在构造函数中注入需要的接口
      image
    4. 创建使用
      image
    • 基于抽象基类的对象注入
      在Java源代码中的运用示例,如下图所示:
      image

    2.1.3 singleton设计模式

    • 类图
    • 实现

      提示:.Net虚拟机(CLR)保证静态构造函数方法仅会被执行一次,其执行时机是此类中的任何一个成员被第一次访问时。

    2.2 对象的销毁

    2.2.1 析构方法

    • 代码示例
      image
    • 源码揭秘
      image
      提示:不要重写类的析构方法,应该让CLR/JVM负责销毁对象。如果确实需要显示回收资源,可以使用一种Disposable编程模式解决。

    2.2.2 IDisposable接口

    • IDisposable接口
      image
    • IDisposable接口使用
      image
    • IDisposable编程模式代码框架
      image

    2.2.3 Using关键字

    • Using代码示例
      image
    • 源码揭秘
      image

    2.2.4 总结

    • 析构方法通常用于清理非托管的资源(文件资源、数据库链接等)。
    • Dispose()方法则可以同事清理托管和非托管的资源。
    • Dispose()方法应该能被安全的调用多次。
  • 相关阅读:
    vue项目开发,用webpack配置解决跨域问题
    vue的插件使用
    getBoundingClientRect的实用场景
    vue的子组件不能进行router的切换
    HTTP协议
    Await/Async
    前端对于页面性能优化方面
    Generator的异步编程
    Iterator接口(遍历器)和for/of循环
    PyCharm快捷方式
  • 原文地址:https://www.cnblogs.com/tjubuntu/p/15413531.html
Copyright © 2011-2022 走看看