C#常见简答题

  1. 静态类和静态方法的好处与缺陷?

     (1)好处是:在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

     (2)缺陷是:静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制

    2. 静态类与普通类的区别?

     (1)静态类:static       关键字

     (2)调用 类名.方法

     (3)在静态方法中只能访问静态成员      在静态类中只能有静态成员     在非静态类中 即可有非静态成员,也可以有静态成员

    3. 重载(Overload )和覆写(Override)的区别

      (1) 概念 方法名相同,参数列表不同(参数类型及个数),与返回值无关 方法名,返回值类型,参数类型及个数完全相同

      (2)范围 一个类中 继承关系中

      (3)限制 没有权限要求 覆写的方法的访问权限不能比父类更严格

    4. 接口和类有什么异同

       不同点:
      (1)不能直接实例化接口。
      (2)接口不包含方法的实现。
      (3)接口可以多继承,类只能单继承。
      (4)类定义可在不同的源文件之间进行拆分。
 
       相同点:
      (1)接口、类和结构都可以从多个接口继承。
      (2)接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。
      (3)接口和类都可以包含事件、索引器、方法和属性。

     5. abstract class和interface有什么区别?

      1.抽象类bai(abstract class)
          .抽象方法制作声明zhi,不包含具体dao的实现,可以看做是没有重写的虚方法.
          .抽象类不能被实例化.具有其他类相同的特性.
          .抽象类可以没有抽象方法和抽象属性,但是一旦有了抽象方法,就一定要把这个类声明为抽象类.
          .具体派生类必须要覆盖基类的抽象方法.
          .抽象类可以派生自另一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果覆盖,则其他派生类也必须覆盖他们.
     2.接口(interface)
         .不能被实例化.
        .只能包含实现的方法声明.
        .成员可以包括方法,属性,索引器和事件.
       .接口中不能包含常量,字段(域),构造函数,析构函数或者静态成员.
       .接口中的所有成员默认为是public,因此接口中不能有private修饰符.
       .派生类必须实现接口中的所有成员.
       .一个类可以直接实现多个接口,接口之中用逗号隔开.
       .一个接口可以有多个父接口,实现该接口的类必须实现所有接口中的所有成员

 

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值