• 必须知道的.net——学习笔记1


    1、对象的生成(出生)

        Person aperson=new Person("小张",25)

       构造过程:分配存储空间—初始化附加成员—调用构造函数

    2.对象的旅程(在一定的约定与规则下,通过方法进行彼此的交互操作从而达到改变本身状态的目的)

      对象类型:值类型(线程的堆栈)和引用类型(托管堆)。装箱:值类型—引用类型 拆箱:引用类型—值类型

      对象属性:字段、属性。方法操作这些

      对象的交互方式:设计模式

      对象的生存环境:CLR

    3.继承(目的:提高软件复用)

      public:开放性最大,都可以访问

      protected:纵向关心约定,其对象有访问父类的权限(父类和子类)

      internal:同一程序集

      protected internal:同一程序集,父类和子类

      private:开放性最小,仅限于包含类型

    4.多态(接口和抽象类)

    (1)接口(以人的不同身份的不同职责为例子)

           interface IPerson

                {

                      string Name{get;set;}

                      int Age{get;set;}

                      void DoWork();

                 }

            class PersonAtHome:IPerson {//dosomething }

            class PersonAtSchool:IPerson { }

            class PersonOnBus:IPerson { }

            实例:

            IPerson aPerson =new PersonAtHome();  aPerson.DoWork();

            IPerson bPerson =new PersonOnBus();  aPerson.DoWork();

    (2)抽象类

    5.消亡(由GC控制)

    6.内存分配

       CLR管理内存区域

    •  线程的堆栈(分配值类型实例):操作系统管理(不受GC),当值类型所在方法结束时,存储单元自动释放,执行效率高,存储有限。
    •  GC堆(引用类型):分配小对象 ,垃圾回收器会对GC堆进行压缩
    • LOH堆(引用类型):分配大对象,不压缩

       引用类型的实例分配在托管堆上,托管堆根据存储信息的不同划分为多个区域,其中GC堆和加载堆最重要。

    引用类型创建、内存分配和初始化过程

             

              

  • 相关阅读:
    idea的tomcat配置
    idea设置类文件的头部信息
    设置idea注释颜色
    Idea设置字体
    python 全栈开发,Day11(函数名应用,闭包,装饰器初识,带参数以及带返回值的装饰器)
    python 全栈开发,Day10(动态参数,命名空间,作用域,函数嵌套)
    python 全栈开发,Day9(函数的初始,返回值,传参,三元运算)
    python 全栈开发,Day8(文件操作)
    python 全栈开发,Day7(元组转换,列表以及字典的坑,集合,关系测试,深浅copy,编码补充)
    python 全栈开发,Day6补充(is,小数据池,编码转换)
  • 原文地址:https://www.cnblogs.com/luyujie/p/3149654.html
Copyright © 2020-2023  润新知