• .NET基础回顾(四)


    一.抽象类

    1. 抽象方法用abstract修饰。

    2. 抽象方法不能有方法体,大括弧也不能有。

    3. 抽象方法必须在抽象类中。

    程序示例:

    1 abstract class Person
    2 
    3 {
    4 
    5                   public abstract void SayHi();
    6 
    7 }

    4. 抽象方法不能实例化,因为有抽象成员,而抽象成员是没有方法体的。

    5. 子类必须重写父类的抽象方法。(和virtual虚方法最大的不同点)

    6. 在子类中无法通过base关键字调用父类的抽象方法。

    7. 抽象方法是光说不做,只是定义了具有这样的行为,但是具体的实现交给子类。

    8. 抽象类中可以拥有非抽象成员,为了继承给他的子类。

    9. 抽象类中可以拥有虚方法。

    10. 子类必须重写父类的方法,父类没有必要实例化,就用抽象类。

    11. 抽象类是被继承的,为了多态。

    12.抽象方法不能是私有的,因为子类没办法访问,就没办法重写。

    二.Tostring和Equals

    1. object类里面equals方法是比较两个对象的引用地址,如果引用地址一样,则返回true。

    2. string类型的equals方法比较的是两个字符串对象的内容,如果内容一样,则返回true。

    3. 引用类型的Equals方法默认比较的是两个对象的地址,如果要改变这个规则,子类重写。

    4. string值类型Equals方法比较的两个结构对象里的字段的值(这时候不存在重写,只是值类型自己新增了方法)。

    二.接口

    1. 使用interface来定义接口,接口表示具有某种能力。

    2. 接口的本质是抽象类,是一个特殊的抽象类,所以接口不能实例化。

    3. 接口内成员默认是抽象的。

    4. 在接口中只能定义属性,方法,索引器,事件。

    5. 抽象成员不能用访问修饰符,默认是public。

    6. 实现接口的类,必须要实现接口中所有的成员。

    7. 实现类在实现接口的成员的时候,不需要写override关键字。

    8. 实现成员的时候,必须保证签名一致。

    9. 接口就是一个纯粹的为了规范实现类的。

    10. 多个具有相同的行为但是没有共同的父类就可以使用接口。

    11. 一个类只能继承一个父类,但是可以实现多个接口,父类要写在第一个位置,一定程度上解决了类的单根性的问题。

    12. 接口可以继承接口,并且可以继承多个接口。

    13. 接口中的成员可以实现为抽象方法或者虚方法,便于实现类的子类去重写。

    14. 显示实现接口是为了解决方法名冲突的问题,显示实现的接口的方法是私有的,所以不能通过对象的变量来调用。

    15. 显示实现接口,这个接口的实现方法只能通过接口变量来调用。

    16. 接口使用建议:

             (1)接口->抽象类->父类->具体类

             (2)避免定义“体积庞大的接口”,“多功能接口”,会造成“接口污染”,只把相关联的一组成员定义到一个接口中(尽量在接口中少定义成员)。(单一职责原则)

             (3)定义多个职责单一的接口。

    三.装箱拆箱

    1. 装箱:将值类型转换成引用类型。

    2. 拆箱:将引用类型转换成值类型。

    程序示例:

    1 int i = 12;
    2 
    3 object obj = i;   //装箱
    4 
    5 i = (int)obj;        //拆箱

    3. 装箱与拆箱是比较消耗性能的,要尽量避免在我们的程序中发生这样的行为。

  • 相关阅读:
    【Python】pip install PIL 报错
    【Selenium】打开浏览器闪退并报错
    【Pycharm】Configuration is still incorrect.
    【Pycharm】初次打开pycharm,“运行”等按钮是灰色,无法运行程序
    如何将APP上传到各大应用市场
    JMeter体系结构
    Workerman启动与停止相关命令
    Workerman简单开发示例实践(二)
    Workerman简单开发示例实践(一)
    Web网站实现Google登录
  • 原文地址:https://www.cnblogs.com/HuoAA/p/4049258.html
Copyright © 2020-2023  润新知