DotNet知识点三

  1. 使用接口的注意事项:

接口中的成员不能加访问修饰符

接口中的成员不能有任何实现

实现接口的子类必须实现接口的全部成员

一个类可以同时继承一个类并实现多个接口,如果一个子类同时继承了父类A,并实现了接口IA,那么在语法上A必须写在IA的前面,因为类是单继承的,而而接口可以多实现

显式实现接口和隐式实现接口时需要注意的问题(我们通常是隐式实现的)

类实现接口,可以显式实现接口里的方法,但是注意:一旦使用显式实现接口里的方法,那么该方法只能被接口变量调用

IFlyable fly = new Bird();

fly.Fly();    //正确

 

Bird fly = new Bird();

fly.Fly();    //错误

 

 

向上转型

单一职责原则(避免定义体积庞大的接口,因为这样会造成“接口污染”,只把相关联的一组成员定义到一个接口中)

2、接口与抽象类的区别:

相同点:

接口和抽象类都不能被实例化

不同点:

抽象基类可以定义字段、属性、方法实现。接口只能定义属性、索引器、事件和方法

抽象类是一个不完整的类,需要进一步细化,而接口是一个行为规范。MicroSoft的自定义接口总是狗带able字段,证明其是表述一类“我能做……”

接口可以被多重实现,抽象类只能被单一继承

抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中

抽象类是从一系列相关对象中抽象出来的概念,因此反映的是事物的内部共性;接口时为了满足外部调用而定义的一个功能约定,因此反映的是事物的外部特性

接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法

接口可以用于支持回调,而继承并不具备这个特点

抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的

如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而抽象类的子类中实现接口中方法

      3.  类型转换

 

转换分类

复制代码

//隐式转换

int num = 1;

string str = num.toString();

 

 

 

//强制转换

int a = 5;

(double) b = a;

复制代码

转换条件

ToString()方法

它是Object对象的一个虚方法,可以自己去重写该方法。如果不重写就返回类型名

Parse()TryParse()方法

相同点:都是针对于字符串进行的值类型转换

不同点:

返回值不一样:Parse()是返回要转换的类型,而TryParse()返回一个转换是否成功的bool

Parse()转换失败会抛异常,而TryParse()转换失败返回false,不会抛异常

Parse()直接传入要转换的类型的值,而TryParse()需要一个out输出参数输出转换的结果

       4.静态成员

 

加载时机(什么时候加载静态成员?)

在该静态成员第一次被调用的时候加载

适用情形(什么时候用静态成员)

在整个程序内部共享的数据才定义为静态的。通常被作为工具类使用。比如DBSqlHelper

在普通类和静态类中的区别

静态类需要用static,静态类不能被实例化

静态类中只能包含静态成员

在实例方法中可以直接调用静态成员,但在静态方法中不能直接调用实例方法

静态类和静态变量创建后始终使用同一块内存,而使用实例的方法会创建多个内存空间

静态构造函数不能有参数,也不能与访问修饰符(默认是private

      5.静态类的继承

 

从子类的角度:静态类不能被任何类继承

从父类的角度:静态类只能继承Object类,不能继承其他类

      6.类和成员的访问修饰符

 

类的默认访问修饰符是internal

类的成员的默认访问修饰符是private

类的访问修饰符只有两种:publicinternal(默认)

类的成员的访问修饰符有:publicprotectedprivate(默认)

      7.结构

 

本质是值类型

值类型和引用类型的选择

值类型:主要是用来封装一组数据,并为数据提供一种简单的处理方式

引用类型:

主要用来封装数据和行为

使用面向对象的特征

当类型中的成员比较多的时候用结构(存在堆里)

new关键字的作用

在使用new关键字创建对象后,所有的成员变量都已经存在,并有默认值(值类型)

如果没有用new关键字,则需要程序员手动为所有的用到了的成员变量赋值,之后才能调用结构对象里的方法属性

结构不new也可以使用,但是必须给使用的结构成员赋值才能使用

      8.类和结构的区别

 

结构是值类型,是分配在内存的栈上的,而类是引用类型,是分配在内存的堆上的

结构不能被继承,因为结构是值类型,隐式继承自System.ValueType

结构是是值传递的(赋值传递),而类是引用传递的

      9.访问级别的约束

 

子类的访问级别不能比父类高

方法参数的访问级别   >=   方法的访问级别(比如当方法的参数传递的是一个类的对象时,那么此时这个类对象的访问级别要高于当前方法的访问级别)

      10.析构函数

 

一个类只能有一个析构函数

无法继承或重载析构函数

无法手动去调用析构函数,因为它是被GC(垃圾回收机制)自动调用的

析构函数不能有访问修饰符,也不能有参数

不能在结构体中定义析构函数,因为结构是值类型,而值类型是存储在栈中,栈中的数据用完之后就立即销毁了,而析构函数的目的就是用来释放资源的,一般存储在堆中的引用类型才需要GC去释放,而因结构体中不能定义析构函数,所以只能对类使用析构函数

复制代码

//析构函数语法

 

class MyDispose

{

      ~MyDisPose()

    {

          ……//释放资源的代码

    }

}

复制代码

 

 

 

 

      11.字符串

 

属性:length

静态方法

常用:

LastIndexOf:用来查找某个字符或字符串,在一个特定字符串对象里的下标

SubString 截取

Split() 根据特定字符来分割字符串,并返回分割后的字符串的数组,可以用foreach读取

Join静态方法

Format() 静态方法

Replace(),替换完要接收,产生一个新的字符串

Replace().Replace()链式编程

Trim()去首尾空格

      12.“==”运算符好 “Equals()”方法的区别

 

“==”比较时:

如果比较是值类型,则比较两个对象的值

如果比较的是引用类型,则比较两个对象的引用地址是否相同(比较堆地址)

“Equals()”比较时:

此方法是Object类里的一个虚方法,默认就是用的“==”及进行比较,是对“==”进行的一个封装,但是,大部分MicroSoft的类及用户自定义的类,都重写了该虚方法,也就是MicroSoft和用户各自为自己编写的Object的子类定义了相等比较规则

     注意:这里有一个特例,因为string是一个引用类型,所以按理说string.Equals("……")方法比较的是地址,而这里比较的是字符串的值

 

      13.字符串的恒定性:

 

    当字符串在内存中已经被创建后,程序员再次创建相同值的字符串对象时,CLR做了优化,直接把第一个字符串的引用赋给了第二个变量,也就是说,前后两个字符串变脸保存了相同的字符串对象应用

 

      14.StringBuilder对象

 

    String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不 会 。 所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder , 不要使用 String。如果要操作一个不断增长的字符串,尽量不用 String , 改用 StringBuilder 类。

 

    两个类的工作原理不同 :String 类是一种传统的修改字符串的方式 , 它确实可以完成把一个字符串添加到另一个字符串上的工作没错 , 但是在 .NET 框架下 , 这个操作实在是划不来 。 因为系统先是把两个字符串写入内存 , 接着删除原来的 String 对象 , 然后创建一个 String 对象 , 并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用 System.Text 命名空间下面的StringBuilder 类就不是这样了,它提供的 Append 方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然 , 一般情况下觉察不到这二者效率的差异 , 但如果你要对某个字符串进行大量的添加操作,那么 StringBuilder 类所耗费的时间和 String 类简直不是一个数量级的。

posted @ 2019-12-26 21:17  Attractor  阅读(173)  评论(0编辑  收藏  举报
                                                                                                                                                                                                        
                                                                                                                    :.Bs .Bs                                                                            
                                                                                                               :   BQgEbLE7                                                                             
                                                                                                           i .qQIEBQv.J2M2r K:                                                                          
                                                                                                         .L  r5ZgMPEjSY2UqPBQ1                                                                          
                                                                                                         PgZbuP2XPMIq51vSKZ2JrB:                                                                        
                                                                                                         BJBDRqgKPIbUqX1L5vr:DP                                                                         
                                                                                                         IsvEKQPddDgqvXU5ir7u7.                                                                         
                                                                                                       BPS7qZZPXLPEBRKYX5KYju                                                                           
                                                                                                       iQsL7DMqYX2gQbjJLQRUquY                                                                          
                                                                                                        PgSPPBRZ5ggdsS7UQJPU.Q                                                                          
                                                                                                        2qRPbXMXXKgIZYIDZL7.D                                                                           
                                                                                                       7.PXZKPSEIq2gsUPPrirPQ                                                                           
                                                                               QB        RB            PBvBQMIZbPuP5q5srrYb57                                                                           
                                                                             LQDZM       BPBi             XB5ZMMSPIEZqrXqE2                                                                             
                                                                            7Q55KQ      BbIvB7              jJP5PSDKXr5MP.                                                                              
                                                                            Qg5I2gr     RdIuSB               7DQEQdgPdI                                                                                 
                                                                            BPKsPYJ     BRQ1UMB             uMBEgPgPMZgv2Y5i:.                                                                          
                                                                           :RP1BP1XDgBQBDMPPUBi             :BZQbQdgPdPQMBQBQBQB5.                   .rj77iirYii...i:7Y5::                              
                                                                            ERBQDPBQBQgIDZQPB               DQBEMPgdgSZSPUPKMgBQBdg             iLqqPr7.   :svr:::uL7v5IPEBQP                           
                                                                             1MBgSqMZQPgPRP5U            vPQgBMBgBZQZMbgZRPdKPKqKDPBMRPEPdqb2XISLLii..   .  r1SQS7::         sr                         
                                                                              rSUZBPDPBXbKB:.vr         .QBRBDQgQMQRBDRZQdgdgdqQBJ2KgqqYuvJrvrrir.. .     .     ..i7LrL7i                               
                                                                                 vRBRBRBddQ.            QBRgDQZQZBZQgRDMdMEgPP   QQgsJsq2S7uvr.:..            ..       .iJ21.                           
                                                                                v5DMQDQQBMQ            KBDBEQgQDRDBDMDQZRPM5bM     :RgPvuj1JX7.              .ir:.7.:iYKQPBRBQi                         
                                                                                .BQQEgbRQBv            BRBMQgQZQDQdBZQZgPgKIEB        :dZBZbSbuL..     .ivrIUu::::.            K                        
                                                                                .QgSq5b5gQB            QBRBPQDQZBDMgQZRZgbPuBR            :ii:7rSUXvvir::                                               
                                                                               ..2EQdDIdqBR           QBDBQgDBDBgBZQgBdZbgI5Qi                                                                          
                                                                               PBQBERRBDBDb           BQBQBdQMQMBMQZBggqgPKuB                                                                           
                                                                               vQRgMSDDQRB2         .J5BDBQDMBMBgRDQgQDQEdJK5ri                                                                         
                                                                                .PgJQPPSQQR       BP:7PXQQBKggBRQEBZREBgE2uXdbBQ:     .             .           .:: : ....7   ..      . . :..           
   :      ..                                                         .           DQKqdXQMBL      iQQQXXMMBQg2QgQEBEBPZZZqI5d7qMEMi     ..:                   i.        ....:  .r   .:r   77Yi17. ur.rJrr
              :.      .               .       .     .           .:  ..i.r7:      XB5KvLJI1. :     ZdBIvZBQMJQZQgBDQZB2Q5XIBjsgB5Qq                .      ir : 7i7. ..   ..i :.r.    .:i:.   . ii. :i7r1r
                                                                 :              RBDQZgPE2SqPRBK    B5j:B57jSRBgBgQbMggbg2dqQ2BZPQi                        .    . : ..  ..rr  .:. : :.7i::r.:.: i7. :.:: 
                                                                              .EQqg5PKU2qJXdQqRgB7 .B:1Q2KBQQEREgPdXEZgPdbXIQgPP.                   :         .   .   .  .i .  .  ::rri.:..   ..ii.   : 
              .     ..           .                                          r:EBdEKSrUvUvJJPXP5PdBD75U.MQBbEgBRBgQgBZBgRqgUqJdqM       .   .    .7..   ...    i: ... . r   .::     ..:.i  ..   :..   .. 
  .         . ri7r:.                                    ..      .          UKQBgMPZPS:iirrEKdSPSbSgDgKSjSUEYr1gEBDgEQgBZgbPPgr.Ri       7QKI: ..  ..    i.:.  :i  qi.::.J.    :     :   :.ii: .:7.rr..v 
:  .         :   ...   r.                           .     .               :QRgPZPEKggZr::XSdqP5PSdSEKZPPSS7KuqQBEdjZdRPQEgPdQ  MKr..     UQqJUrJ.i.    .  .v.. :. .i .   Yr. . i ... :     :ir.  ..v.r. 
:   .:       :i.        :   .     :..   . :..:i... .r7:   7:             7BQQZgbXKEdQRMYPPP2PUP2qUbXPKgKE5PJg5EQBQBMQdgPdPQUsEddP1BZMPbv  qvEdPL:   .  .ri .Pb: rr. .ii  .: .   : .::  :1. .Yuj ..7i. r 
    :i..     . .        .i .:.     25ZPJ:Ur5iLYL iJ7:7ivj: 7 X..        rMJ2KQZRPPIgdDbDqgXEqd2P2KJq2P5P2dIUIg1SIQQBQBgQqdbQbBQBKIUE2BQBQguIK2IBYi sv:   .  :s     2L27  .   ::i::  iv:irv:i  :: ::::  .
r:r.::PPK7XYsvu7Jii:r:.   :rL77ii. .RQEU    7vYX.i7rI: .iJRbiiI1:      QBUvIDqQEZMQDgXP2dKdPRKEKZ5XuX2P5SUI7I2XsX1PPMDBRBQBdEPZUX2Ss2RBgQggPb5IPPu22PE27  .     Xi .EvJviJ7 .:v:..7L..i   :r.   :   :   
QK7D:  : :7bEgEUvX:. r.     r7:ri    L  : rr     ::.:RI  LrJ.:rv.UXPi: .rBQDbi75ubqEdQqPIPXZEBDRPESb2P5P5UL1jP2SjPKPIPKDKgdPSPXduPSgggQBQBdb5QEZYdqdvZ1BQYiD.  i:U irI.ir:SX:Ir: ..1r7 u. :i.r::.irYs:  
Dr.vqUPYr7YiUiX:  . .   r.  .L..i :7... Y..i  .7X.  ::Dgu     Y  ..      gB5irvUqSdSMQBgDqE5gIKPZPXddKZXDu1r25EI5jXIdIXUPUq5ILXUdZBPQPQRBQBgQgBQdrKSEKIUZMQPB. j7527SUq.iXQPYPZsY  rPsIrPrr...rL57i:Liir
  u5.ii.   2 ....  12r.Yrir: L   .   ir  q 7uL  :J .:  UR: :7rD7    i:.j  qK MQBgZIZ12qBQBgDKu.gZPrsPEXb5dUU75IP1Xu1v2sXuqIdqK7qdZSEKDdBDQgBRBRBM57EXZbZvXSQQM222XQBKPSPsdgBbPXQQg:vrs7u7EP5.7:7vK7::i:i
   7Y:i.j: iLr.:7i.i1b5Lq.    d.      :  JPriiLi:  J5:    ir2sURM.:2BKZ5i .i7 QQBQBQQY7:YUgMBP2:EQSiIIqSK2Kj5LUs2YPUq5bUP55IBQZPgKq2DDMSDZQgRgBdQULLKuEPP12IBQMXLUQQMPg2bUS1BDK1PQBs5XIs27SQPr7:irS2q1L.
.   J5EL:vrvii . : .  .vSQ: .  q      r: rP.  ...i..:isMr    ..UY7.  :.rir.::  .rsKBPrLdL:.vsEPP.jUJ7JrjYX51PbYIuPIPSK1u5g7:rJuI5DPdSXvKJu72UPPQQBZJJqs12PUJ7KsPq7vUubPqjK1IvdXP2v1BXq5XXXuPDRu1Lv:r:vJj