A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  • C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里
    • 定义:Attribute 类将预定义的系统信息或用户定义的自定义信息与目标元素相关联。公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。
              Property是类中存取数据的一个统一模式



  • C#中的Field就是C++中指的成员变量Member Variable
  • 什么是metadata?
是记录类信息(成员,方法,继承……)的数据,它会被存储在PE文件或内存里。常用到的Intellisense就是其应用之一。
  • C++,Java和C#之间的对比?
    • C#借鉴了Java虚拟机的概念,代码理论上可以跨平台执行,对内存的管理加以简化
    • C#对于C++来讲,保存了其语法习惯,使用起来更易上手
  • C#里是否可以直接对内存操作?
    •  C#中可以用unsafe{}来标明所谓不安全的代码段。
      • 所谓不安全,是因为指针可对内存数据操作,但如果进行操作不当,则有可能使程序出错,甚至系统瘫痪,这被视为一个不安全的因素。
  • Struct和class?
    • struct是值类型,内存分配在栈上,class是引用类型,内存分配在堆上。值类型不能设为null
    • struct implicitly derived from System.ValueType
    • 对struct中变量赋值会产生赋值的一个拷贝
    • struct没有继承,其成员不能用protected修饰,class可以继承和多态
    • struct多用来存储数据,而class则作为类的抽象
    • struct不能有初始化成员
    • this的意义和class的this不同??
    • struct不能有显式无参构造器,因为其中的成员自动被初始化为默认值,其中的引用类型被设置为null。但可有静态无参构造器
    • class可以定义析构器,但struct不能
    • class用于对象建模,而struct更倾向于数据的整合
    • struct的构造器必须初始化所有成员,而class不需要
    • class使用实例时,必须使用new关键字,而struct不用
    • class作为参数时,是引用传递,而struct则为值传递
  • C#中的数据类型
    • 基原类型,编译器直接支持的类型
    • 值类型,变量内存分配在栈,不需要内存回收
    • 引用类型,变量内存分配在堆,并有对象引用到堆中内存地址
  • Abstract class是什么?
    • 不能实例化
    • 可有成员函数的实现
    • 类似于C++中的纯虚函数
    • 继承于它的类需要override其定义的方法  

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

倒序浏览
假如继承于抽象类(父类)的类(子类)还是抽象类(abstract)的话,还需要override父类的方法吗?
回复 使用道具 举报
李 玉林 来自手机 中级黑马 2012-9-6 22:56:45
藤椅
抽象类只能做父类  而且不能实例化
回复 使用道具 举报
值得学习和收藏ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马