为了账号安全,请及时绑定邮箱和手机立即绑定

用C#实现封装

难度入门
时长 2小时25分
学习人数
综合评分9.63
277人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.6 逻辑清晰
  • 结构struct是值类型(类是引用类型) 结构中可以定义字段、属性和方法 不能为结构中的字段赋初始值 结构的构造方法中必须为所有字段赋值 不能为结构显示定义无参数的构造方法 结构类型的对象可以不实例化
    查看全部
    0 采集 收起 来源:结构

    2016-03-24

  • Child c2=c1;//此处c1,c2都为引用类型,且都指向一个对象,所以两个值一样(若想要两个值不同,则需使用new())
    查看全部
  • this.sex 表示当前对象的sex sex 表示形参sex
    查看全部
    0 采集 收起 来源:C#中this关键字

    2016-03-24

  • 枚举值是从0递增的整数
    查看全部
    0 采集 收起 来源:枚举

    2016-03-24

  • this当前对象
    查看全部
    0 采集 收起 来源:C#中this关键字

    2016-03-24

  • 封装快捷键 CTRL+R+E
    查看全部
  • CTRL+R+E
    查看全部
  • 封装、接口、get\set方法
    查看全部
  • 类中的变量默认为私有的。
    查看全部
  • @无参构造函数初始化 注意:只有在初始化的时候可以省略小括号。Java不可以这样初始化。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • //@析构函数——(下) 例如,下面是类 Car 的析构函数的声明: C# class Car { ~Car() // destructor:析构函数 { // cleanup statements...:清理数据的语句 } } 该析构函数隐式地对对象的基类调用 Finalize。这样,前面的析构函数代码被隐式地转换为以下代码: protected override void Finalize() { try { // Cleanup statements... } finally { base.Finalize(); } } 这意味着对继承链中的所有实例递归地调用 Finalize 方法(从派生程度最大的到派生程度最小的)。 注意: 不应使用空析构函数。如果类包含析构函数,Finalize 队列中则会创建一个项。调用析构函数时,将调用垃圾回收器来处理该队列。如果析构函数为空,只会导致不必要的性能损失。 程序员无法控制何时调用析构函数,因为这是由垃圾回收器决定的。垃圾回收器检查是否存在应用程序不再使用的对象。如果垃圾回收器认为某个对象符合析构,则调用析构函数(如果有)并回收用来存储此对象的内存。程序退出时也会调用析构函数。 可以通过调用 Collect 强制进行垃圾回收,但大多数情况下应避免这样做,因为这样会导致性能问题。 @使用析构函数释放资源 通常,与运行时不进行垃圾回收的开发语言相比,C# 无需太多的内存管理。这是因为 .NET Framework 垃圾回收器会隐式地管理对象的内存分配和释放。但是,当应用程序封装窗口、文件和网络连接这类非托管资源时,应当使用析构函数释放这些资源。当对象符合析构时,垃圾回收器将运行对象的 Finalize 方法。 @资源的显式释放 如果您的应用程序在使用昂贵的外部资源,我们还建议您提供一种在垃圾回收器释放对象前显式地释放资源的方式。可通过实现来自 IDisposable 接口的 Dispose 方法来完成这一点,该方法为对象执行必要的清理。这样可大大提高应用程序的性能。即使有这种对资源的显式控制,析构函数也是一种保护措施,可用来在对 Dispose 方法的调用失败时清理资源。 */
    查看全部
  • //@析构函数——(上) /* @简介: 析构函数是实现销毁一个类的实例的方法成员。前缀“~”修饰。 虽然C#提供了一种新的内存管理机制——自动内存管理机制(Automatic memory management),资源的释放是可以通过“垃圾回收器”自动完成的,一般不需要用户干预,但在有些特殊情况下需要用到析构函数的,如非托管资源的释放。 在C#中,资源的释放一般是通过“垃圾回收器”自动完成的,但仍有需要注意的地方: 1、不能在结构中定义析构函数。只能对类使用析构函数。 2、一个类只能有一个析构函数。 3、无法继承或重载析构函数。 4、无法调用析构函数。它们是被自动调用的。 5、析构函数既没有修饰符,也没有参数。 6、值类型和引用类型的引用其实不需要什么“垃圾回收器”来释放内存的,因为当它们出了作用域后会自动释放所占内存,它们都保存在栈(Stack)中。 7、只有引用类型的引用所指向的对象实例才保存在堆(Heap)中,而堆是一个自动存储空间,所以它并没有像“栈”那样有生存期(“栈”的元素弹出后就代表生存期结束,也就代表释放了内存),但要注意的是,“垃圾回收器”只对这块区域起作用。 8、有些情况下,当需要释放非托管资源时,就必须通过写代码的方式来解决。通常是使用析构函数释放非托管资源,将用户自己编写的释放非托管资源的代码段放在析构函数中即可。需要注意的是,如果一个类中没有使用到非托管资源,那么不要定义析构函数。因为对象使用了析构函数,那么“垃圾回收器”在释放托管资源之前要先调用析构函数,然后第二次才真正释放托管资源,这样就相当于执行了两次删除动作。 ... 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 属性,get{ }、set{ }
    查看全部
    0 采集 收起 来源:C#封装的概念

    2016-03-22

  • ref可以将类型改为引用类型
    查看全部
    0 采集 收起 来源:ref关键字

    2016-03-21

  • 枚举可以用来限制范围,防止逻辑错误的存在
    查看全部
    0 采集 收起 来源:枚举

    2016-03-21

举报

0/150
提交
取消
课程须知
学习本课程之前,小伙伴们需要有C#语法基础,木有此项技能的童鞋们,请先移步《C#开发轻松入门》进行修炼~~
老师告诉你能学到什么?
1、类和对象的概念 2、封装的思想和实现 3、方法和构造方法 4、值类型与引用类型

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!